ページ 11

明日までの宿題です。XCODE

Posted: 2012年5月01日(火) 12:43
by bluedog
iPhoneアプリ開発でナビゲーションバー右上ににボタンを作りました。

そのボタンから画面遷移をしたいのですが繋ぐコードでつまづいております。
現在はアクションシートのボタンから画面遷移ができるようになっています。
これを、ナビゲーションバー右上のボタンに変更してそこから画面遷移しようとしています。

XIBは仕様しておらずコードのみで作っています。

現在下記のコードとなっています。
ご教授お願い致します。


[ナビゲーションバーボタン]ファイル名:MWPhotoBrowser.m

コード:

UIBarButtonItem *bbDone = [[UIBarButtonItem alloc]
initWithTitle:@”商品を見る”
style:UIBarButtonItemStyleDone
target:self
action:@selector(closeView)];
self.navigationItem.rightBarButtonItem = bbDone;
bbDone.tintColor = [UIColor blackColor];
 


[ナビゲーションバーボタンからに変更したいアクションシート部分]ファイル名:MWPhotoBrowser.m

コード:

 
- (void)UIBarButtonItem:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (actionSheet == _actionsSheet) {
// Actions
self.actionsSheet = nil;
if (buttonIndex != actionSheet.cancelButtonIndex) {
if (buttonIndex == actionSheet.firstOtherButtonIndex) {

NSString *urlString;
switch (_currentPageIndex == 0) {
case 0:
urlString = @”http://www.google.co.jp/”;
break;
case 1:
urlString = @”http://www.yahoo.co.jp/”;
break;
case 2:
urlString = @”http://www.google.co.jp/”;
break;
case 3:
urlString = @”http://www.yahoo.co.jp/”;
break;
case 4:
urlString = @”http://www.google.co.jp/”;
break;
case 5:
urlString = @”http://www.yahoo.co.jp/”;
break;

// デフォルト
default:
urlString = @”http://www.google.co.jp/”;
break;
}

ModalViewController* web = [[ModalViewController alloc] initWithUrlString:urlString];

web.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
UINavigationController *NavigationController =
[[UINavigationController alloc] initWithRootViewController:web];
[self presentModalViewController:NavigationController animated:YES];
NavigationController.navigationBar.tintColor = [UIColor blackColor];

return;
 

Re: 明日までの宿題です。XCODE

Posted: 2012年5月02日(水) 01:27
by h2so5
MWPhotoBrowser.m

コード:

    UIBarButtonItem *bbDone = [[UIBarButtonItem alloc]
                               initWithTitle:@"商品を見る"
                               style:UIBarButtonItemStyleDone
                               target:self
                               action:@selector(showWebView:)];
    self.navigationItem.rightBarButtonItem = bbDone;
    bbDone.tintColor = [UIColor blackColor];
MWPhotoBrowser.m

コード:

- (IBAction)showWebView:(id)sender {
    
    NSString *urlString;
    switch (_currentPageIndex) {
            
            // ページ番号 0 の時のURL
        case 0:
            urlString = @"http://google.com/";
            break;
            
            // ページ番号 1 の時のURL
        case 1:
            urlString = @"http://yahoo.com/";
            break;
            
            // ページ番号 2 の時のURL
        case 2:
            urlString = @"http://bing.com/";
            break;
            
            // 以下続く...
            
            // デフォルト
        default:
            urlString = @"http://msn.com/";
            break;
    }
    
    webViewController* web = [[webViewController alloc] initWithUrlString:urlString];
    
    web.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    UINavigationController *NavigationController =
    [[UINavigationController alloc] initWithRootViewController:web];
    [self presentModalViewController:NavigationController animated:YES];
    
}
適当な場所 (viewDidLoad関数の下にでも)挿入してください。

あと、switch (_currentPageIndex == 0) は間違っています。
_currentPageIndexの数値で分岐しているのでswitch (_currentPageIndex)です。

Re: 明日までの宿題です。XCODE

Posted: 2012年5月02日(水) 12:04
by bluedog
h2so5さんありがとうございます!!
WEBページへ繋がりました!

ナビゲーションバーのボタン部分コードを
action:@selector(showWebView:)]
として、- (IBAction)showWebView:(id)senderでアクションすればいいのですね!
無事解決できました!
お忙しいところ見て頂き本当にありがとうございました。