Форум программистов, компьютерный форум CyberForum.ru

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Ilyaa
20 / 20 / 3
Регистрация: 29.04.2012
Сообщений: 214
#1

Вместо navigation bar с table view хочу сделать просто view controller - Программирование iOS/iPhone

25.08.2014, 18:58. Просмотров 870. Ответов 1
Метки нет (Все метки)

добрый вечер.

В xcode есть стандартный темплейт с navigation controller, но там по дефолту table view controller (master controller) и view controller (detail).

А мне надо убрать table и сделать два view. Но в таком случае убирается дефолтный navigation controller в table controller и я не знаю как мне задать кнопку для перемещения между контроллерами.

это получается, когда точка входа программы - navigation controller (дефолтная точка входа)https://docs.google.com/file/d/0B-RR...5ndnRRb2c/edit

это - схема. справа - это то, что я хочу видеть и чтобы кнопка 'edit' вела дальше.
https://drive.google.com/?tab=mo&authuser=0#my-drive

Если я точку входа(стрелку входа) переведу на нужный мне main view controller , то будет ошибка

Bash
1
2
2014-08-25 18:55:59.284 d[6615:60b] -[MainViewController editButton:]: unrecognized selector sent to instance 0x8c9fce0
2014-08-25 18:55:59.289 d[6615:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MainViewController editButton:]: unrecognized selector sent to instance 0x8c9fce0'
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//
//  MainViewController.h
#import <UIKit/UIKit.h>
 
@class ViewController;
 
@interface MainViewController : UIViewController
 
@property (strong, nonatomic) IBOutlet UIButton *editButton;
 
- (IBAction)editButton:(id)sender;
 
@property (strong, nonatomic) ViewController *detailViewController;
 
 
@end
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//
//  MainViewController.m
 
#import "MainViewController.h"
 
#import "ViewController.h"
 
@interface MainViewController ()
 
@end
 
@implementation MainViewController
 
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}
 
 
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
 
    self.detailViewController = (ViewController *)[[self.splitViewController.viewControllers lastObject] topViewController];
 
}
 
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
 
 
#pragma mark - Navigation
 
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
   
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
 
- (void) editButton:(id)sender {
    
    /*NSMutableArray *viewControllers = [NSMutableArray arrayWithArray:[self.navigationController viewControllers]];
    
    ViewController *nvc = [[ViewController alloc] init];
    [viewControllers replaceObjectAtIndex:0 withObject:nvc];
    [self.navigationController setViewControllers:viewControllers];*/
 
//тут несколько попыток
   
    ViewController* nextWindow = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
    [self.navigationController setViewControllers:[NSArray arrayWithObject:_detailViewController] animated:YES];
}
 
 
@end

Сейчас он ругается вот так
Bash
1
2014-08-25 19:03:28.448 d[6856:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[0]'
И так
Bash
1
2014-08-25 19:06:52.597 d[7004:60b] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM replaceObjectAtIndex:withObject:]: index 0 beyond bounds for empty array'
В обоих случаях плохо память выделаю/не заполняю, верно? Как это сделать грамотно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2014, 18:58     Вместо navigation bar с table view хочу сделать просто view controller
Посмотрите здесь:

push notification переход на нужный view controller Objective-C
View Controller Scene
Objective-C Жесты + View Controller
По нажатию кнопки на View Controllere открыть Table View Controller
Заполнение Table View Controller
Table View Cell
Navigation controller (UITableviewController вместо UIViewController)
Воспроизведение видео AV Kit Player View Controller Swift
Работа с view controller в xcode 6
Смена Root View Controller в Navigation Controller
Вызвать метод View Controller'a из другого View Controller'a Objective-C
Table View Controller не видно ячеек

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Victorianec
20 / 20 / 6
Регистрация: 09.01.2014
Сообщений: 118
25.08.2014, 19:17     Вместо navigation bar с table view хочу сделать просто view controller #2
Если делаете через сториборд:
для начала проверьте, выставлен ли первый вьюконтроллер как рутовый для навигации. Дальше присвойте ему StroboardID, к примеру "ViewController". Потом замените
Objective-C
1
2
ViewController* nextWindow = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
    [self.navigationController setViewControllers:[NSArray arrayWithObject:_detailViewController] animated:YES];
на
Objective-C
1
2
UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
    [self.navigationController pushViewController:vc animated:YES];
Думаю и ошибки пропадут.
Yandex
Объявления
25.08.2014, 19:17     Вместо navigation bar с table view хочу сделать просто view controller
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru