2013-07-08 3 views
0

Я работаю в xcode 4.6.2 с ios 6, используя дуги и раскадровки. Я создал MainStoryboard.storyboard Здесь я создал 2 viewcontrollers: SplashViewController и WalkthroughViewController. С segues я перехожу от одного к другому. В WalkthroughViewController я создал 2 вида: 1 scrollview, который покрывает высоту 370 сверху и еще один вид для модуля входа, который покрывает 110 высоты снизу.Добавление вида xib в другое представление в раскадровке

Теперь я хотел бы отделить логику этих двух модулей. Поскольку я могу повторно использовать модуль входа в систему, а пошаговое руководство будет scrollview, которое будет автоматизировано изображениями, которые находятся в файле plist.

Я попытался создать uiviewcontroller с именем LoginViewController с xib-файлом и связал представление с моим WalkthroughViewController, перетащив его в мой .h-файл. Я назвал его loginView. Файл xib в окне входа в систему имеет 2 кнопки под названием «facebook login» и «skip login».

@property (strong, nonatomic) IBOutlet UIView *loginView; 

И в файле .m я пытался инициализировать эту точку зрения, используя метод initwithnibname так:

self.loginView = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil].view; 

приложение теперь работает без сбоев, но экран пуст.

Любые идеи, почему мой взгляд не назначается или кажется, что он не должен? Я вообще не вижу кнопки facebooklogin или skiplogin.

Спасибо.

ответ

1

Вы пытались установить рамку? что-то вроде:

self.loginView = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil].view; 
CGRect loginViewFrame = CGRectMake(0, self.view.frame.size.height-110, self.view.frame.size.width, 110); 
    [self.view addSubview:loginView]; 
    loginView.frame = loginViewFrame; 
+0

y es, я попробовал, похоже, что у меня был iboutlet, связанный с представлением, которое я также создал в walkthroughviewcontroller в раскадровке. так что это переопределение кода. – tiw

+0

, но теперь мне удалось увидеть представление, которое я сделал в xib. и нажал кнопку, которая была там: loginButton. и он разбился, давая ошибку: excbadaccess – tiw

+0

Я не использовал loginView, но использовал loginViewController как свойство моего walkthroughviewcontroller. теперь я могу также получить доступ к методам. Благодаря! – tiw

1

вам лучше не писать так:

self.loginView = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil].view; 

лучше использовать весь ViewController как:

loginView = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil]; 

и вы можете сделать LoginView это ViewController не вид и add-bringSubviewToFront, чтобы сделать loginView видимым

Смежные вопросы