2016-12-06 8 views
0

カスタムビューを使用して特定のビューを開き、テーブルビューの特定のセルを選択しています。しかし、セル選択コードは機能しません。 stackoverflowの経た今でも、私は、URL myappに使用してアプリを開くたびappdelegateでプログラムでテーブルビューのセルを選択しても動作しません。

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { 

if ([url.host isEqual: @"help"]){ 
    UITabBarController *tabController = (UITabBarController*)self.window.rootViewController; 
    tabController.selectedIndex = 4; 
    MoreController* more = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"more"]; 
    [more.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:2 inSection:1] animated:true scrollPosition:UITableViewScrollPositionNone]; 
} 

解決策を見つけることができませんでした://ヘルプを、それが唯一の選択したインデックスにとどまり、およびセルを選択していません。

+3

ない100%にセットされている、私はあなたではなくあなたのMoreControllerに選択されたインデックスを渡し、あまりにも早く少しのセルを選択しようとしていると考えていると、それを一度選択してくださいtableViewの読み込みが完了しました:) ViewDidAppearやそのようなもののように –

+0

@SandeepBhandari私はappdelegateに適用していますので、私は条件でやろうとしています – hatched

+1

ohhh god :)私の最後のコメントについては申し訳ありません:)問題はバディです。あなたが新しくインスタンス化したviewControllerのセルを選択しています:)しかし、既にタブバーのコントローラの仕様にロードされているものcインデックスは別のインスタンスです:)あなたはすでにTabバーのコントローラにロードされ、そのセルを選択VCのインスタンスを取得する必要があります:)私の答えが晴れていることを願って:) –

答えて

1

あなたはこれを書くために必要がある場合は、あなたのMoreControllerすでに確認してくださいしかしUITabBarController

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { 

    if ([url.host isEqual: @"help"]){ 
     UITabBarController *tabController = (UITabBarController*)self.window.rootViewController; 
     tabController.selectedIndex = 4; 
     MoreController* more = (MoreController *)[[tabController viewControllers] objectAtIndex:4]; 
     [more.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:2 inSection:1] animated:true scrollPosition:UITableViewScrollPositionNone]; 
    } 
} 
+0

あなたの答えが同様に指摘しているコメントには既に回答が示唆されていますが、答えとして投稿する必要が本当にありましたか? –

+0

あなたは正しいですが、私は彼が理解を深めるためのコードを必要としていると思います。あなたが好きでないなら、私は私の答えを削除します。 –

+1

@SandeepBhandariはい、回答を投稿する理由があります。コメントは答えではありません。誰かが回答の代わりにコメントを投稿することを選択した場合、コメントと同じであっても誰かが実際の回答を投稿したときにそれを訴える理由はありません。答えが本当に答えである限り、コメントの存在は無関係です。 – rmaddy

関連する問題