1

次のモーダル コントローラーを開始します。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];

UIViewController *modal = [storyboard instantiateViewControllerWithIdentifier:@"modalController"];
modal.title = @"Example Title";
[self presentModalViewController:modal animated:YES];

タイトルを次のように設定しました。

modal.title = @"Example Title";

しかし、これは機能しません。誰か助けてもらえますか?

編集: ModalView をこのように UINavigationController でラップしました

ここに画像の説明を入力

4

2 に答える 2

1

従来のドラッグ アンド ドロップ方法を使用して、モデル コントローラーに UINavigationItem (タイトル) の IBOutlet プロパティを追加する必要があります。

@property (weak, nonatomic) IBOutlet UINavigationItem *navTitle;

次に、viewDidLoad 関数でタイトルを設定します。

- (void)viewDidLoad
{
    [super viewDidLoad];

    // title view
    [self.navTitle setTitle: @"atitle"];
}
于 2013-09-20T13:37:04.230 に答える
1

少し複雑な方法でこれを行っています...しかし、パラダイムにとどまるには、含まれているviewControllerではなく、navigationControllerを提示する必要があります。後者の方法でそれを実行しようとすると、viewController がインスタンス化されますが、このアクションはプルしません。含まれている navController と一緒にストーリーボードから外します。viewController の title プロパティを問題なく設定していますが、タイトルを表示する (自動化された) 方法がありません。一方、navController をインスタンス化すると、そこに含まれる viewController はそのままでアーカイブ解除されます。topViewController

        //give the navigation controller a storyboard id eg "navVC"
    UINavigationController* modalNav = [self.storyboard instantiateViewControllerWithIdentifier:@"navVC"];
    [modalNav topViewController].title = @"Example Title";

        //[self presentModalViewController:modalNav animated:YES];
        //deprecated method, use this instead:
    [self presentViewController:modalNavController 
                       animated:YES
                    completion:nil];
于 2013-03-31T20:51:47.447 に答える