2012-05-10 2 views
1

У меня есть контроллер вида, который генерирует «.xib» с помощью Three20Как изменить ViewController на другой, который не имеет «.xib»?

Мне нужен tableView Отправить мне этот ViewController не имеет «.xib», как вы?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

    if (!self.albumController) { 
     self.albumController = (AlThumbsViewController *)self; //AlThumbsViewController no have xib //Three20 is generated automatically with 
    } 

    [self.navigationController pushViewController:self.albumController animated:YES]; 
    [self.albumController release]; 
    self.albumController = nil; 
} 

Благодарим за всех.

+0

Вы можете уточнить? Ваш вопрос непонятен ... – Saphrosit

+0

Я хочу перейти от «1.-ViewController» к «2.-ViewController», но у меня нет xib при перемещении? Я попытался сделать следующее: UINavigationController * nav = [[UINavigationController alloc] initWithRootViewController: [[AlThumbsViewController alloc] init]]; [window addSubview: nav.view]; // Точка переопределения для настройки после запуска приложения [makeKeyAndVisible window] Но я ошибаюсь. – user1387989

+0

#import <три20/три20.ч> #import интерфейс ALThumbsViewController: TTThumbsViewController { } – user1387989

ответ

0

MyViewController * вид = [[MyViewController Alloc] initWithNibName: @ "MyView" связка: ноль];

[self.navigationController pushViewController:view animated:NO]; ---> you can use YES 

или [self.view addsubview: view.view];

и напротив

[self.navigationController popViewControllerAnimated:NO]; 

[self.view romovefromsuperview];

0

Если я правильно понял вас, вы хотите перейти с одного контроллера вида на второй контроллер представления, у которого не было файла NIB/XIB, сгенерированного для него, когда вы создали второй контроллер представления?

Если это так, вам нужно создать новый XIB в xcode. Перейдите в «Новый файл», «Пользовательский интерфейс», «Просмотр». Затем сопоставьте новый файл XIB с контроллером представления, изменив имя класса в построителе интерфейса для вашего XIB с тем же именем, что и ваш контроллер вида. Затем установите выходную точку представления в Interface Builder на главный вид XIB. Затем выполните initWithNibName на вашем контроллере представления, у которого нет XIB, и передайте ему новый XIB-файл, который вы только что создали.

EDITED НА ОСНОВЕ КОММЕНТАРИЕВ:

Шаг 1: Создайте новый файл, пользовательский интерфейс, вид. Это создаст отдельный XIB-файл.

Шаг 2: Перейдите к новому XIB. Нажмите «Владелец файла». Нажмите значок Identity Inspector в правом меню (средний значок). Для «класса» измените имя на точное имя контроллера вида, с которым вы хотите связать его.

Шаг 3: Щелкните владельца файла. Нажмите значок «Консоль инспекторов» в правом меню (самый правый значок). В разделе «Выходы» подключите «вид» к основному виду XIB (просто перетащите его из круга в главное окно).

Шаг 4: Загрузите контроллер представления, как это:

MyViewController *view = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil]; 
+0

ДА, я хочу сделать, чтобы создать новую XIb и добавить его, а другой не понял, вы прокомментируете, что ты мог бы лучше объяснить но я был бы признателен, если бы у меня был этот вопрос 3 дня. @Joel – user1387989

+0

См. Отредактированный ответ для пошаговой инструкции. – Joel

+0

Шаг 1.2 и 4, если я понимаю. Я покажу вам изображение, если я сделал правильную вещь, пожалуйста, скажите мне. http://imageshack.us/photo/my-images/826/capturadepantalla201205k.png Шаг 3 не понимает, что я должен делать. Спасибо за помощь – user1387989

0

Как и в picture?

error: 
Undefined symbols for architecture i386: 
    "_OBJC_CLASS_ $ _AlThumbsViewController", Referenced from: 
     objc-class-ref in SocialesAlbumViewController.o 
ld: symbol (s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use-v to see invocation) 

см image здесь

+0

Сходит ли ALThumbsViewController с UIViewController? Должно. – Joel

+0

Вы также должны изменить код, чтобы быть self.albumController = [[AlThumbsViewController alloc] initWithNibName: @ "AlThumbsViewController" bundle: nil]; или назначьте переменную вида self.albumController. – Joel

+0

Im use Three20. ALThumbsViewController спускаются формы TTThumbsViewController #import интерфейс ALThumbsViewController: TTThumbsViewController { } конец –

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