2011-03-30 70 views
0

嗨,我做了一個應用程序,它有2個視圖是一個分頁滾動視圖是430像素高度和其他靜態視圖有50像素。我的問題是有點難以理解,我有信息按鈕,在靜態視圖,如果我點擊它的程序瀑布因此:多視圖應用程序的問題

sharedlibrary apply-load-rules all kill Current language: auto; currently objective-c quit Program ended with exit code: 0 

2011-03-30 08:51:28.427 PhotoScroller[637:207] -[__NSCFType buttonPressed1]: unrecognized selector sent to instance 0x4b36db0 
2011-03-30 08:51:28.456 PhotoScroller[637:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFType buttonPressed1]: unrecognized selector sent to instance 0x4b36db0' 
*** Call stack at first throw: 
(
    0 CoreFoundation      0x00f2f5a9 __exceptionPreprocess + 185 
    1 libobjc.A.dylib      0x01083313 objc_exception_throw + 44 
    2 CoreFoundation      0x00f310bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187 
    3 CoreFoundation      0x00ea0966 ___forwarding___ + 966 
    4 CoreFoundation      0x00ea0522 _CF_forwarding_prep_0 + 50 
    5 UIKit        0x002bc4fd -[UIApplication sendAction:to:from:forEvent:] + 119 
    6 UIKit        0x0034c799 -[UIControl sendAction:to:forEvent:] + 67 
    7 UIKit        0x0034ec2b -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527 
    8 UIKit        0x0034d7d8 -[UIControl touchesEnded:withEvent:] + 458 
    9 UIKit        0x002e0ded -[UIWindow _sendTouchesForEvent:] + 567 
    10 UIKit        0x002c1c37 -[UIApplication sendEvent:] + 447 
    11 UIKit        0x002c6f2e _UIApplicationHandleEvent + 7576 
    12 GraphicsServices     0x01887992 PurpleEventCallback + 1550 
    13 CoreFoundation      0x00f10944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52 
    14 CoreFoundation      0x00e70cf7 __CFRunLoopDoSource1 + 215 
    15 CoreFoundation      0x00e6df83 __CFRunLoopRun + 979 
    16 CoreFoundation      0x00e6d840 CFRunLoopRunSpecific + 208 
    17 CoreFoundation      0x00e6d761 CFRunLoopRunInMode + 97 
    18 GraphicsServices     0x018861c4 GSEventRunModal + 217 
    19 GraphicsServices     0x01886289 GSEventRun + 115 
    20 UIKit        0x002cac93 UIApplicationMain + 1160 
    21 PhotoScroller      0x00001c20 main + 102 
    22 PhotoScroller      0x00001bb1 start + 53 
    23 ???         0x00000001 0x0 + 1 
) 
terminate called after throwing an instance of 'NSException' 

但如果我使用分頁滾動視圖相同的代碼,它完美的我的代碼

部分:

UIButton *iButton = [UIButton buttonWithType:UIButtonTypeInfoLight]; 
iButton.frame = CGRectMake(269.0f, 17.0f, 18.0f, 19.0f); 
iButton.backgroundColor = [UIColor clearColor]; 
[iButton addTarget:self action:@selector(buttonPressed) 
forControlEvents:UIControlEventTouchUpInside];  
[self.view addSubview:iButton]; 

-(void)buttonPressed{ 
    NSLog(@"button pressed in PSV..."); 
} 

I D不理解它,我期望它能起作用。我只是想明白爲什麼它不起作用。

靜態視圖是ViewController 頁面滾動視圖子類是UIScrollView <UIScrollViewDelegate>

感謝所有的答案的子類。

+0

我沒有給你?你正在使用buttonPressed1或buttonPressed的選擇器是什麼?分頁滾動視圖中的 – makboney 2011-03-30 07:38:14

+0

我在靜態視圖中使用buttonPressed我使用buttonPressed1,並且按鈕變量的名稱是iButton1 – Csabi 2011-03-30 07:49:01

+0

您是否嘗試通過更改變量名稱以及選擇器名稱? – makboney 2011-03-30 07:56:09

回答

1

您爲某個按鈕的動作指定的選擇器應該帶有一個類型爲id的單個參數。因此,請嘗試將您的選擇器規格更改爲@selector(buttonPressed:),並將您的操作方法更改爲:

- (void)buttonPressed:(id)sender { ... } 
+0

我不知道我100%理解你的答案,但我投票了 – Csabi 2011-03-30 18:21:08

+0

只是嘗試改變你的addTarget調用: '[iButton addTarget:self action:@selector(buttonPressed :) forControlEvents:UIControlEventTouchUpInside];'然後將一個參數傳遞給您的buttonPressed方法,如上所示。希望這會有所幫助! – Laura 2011-03-31 15:26:15