2013-02-21 28 views
-1

我有一個UIScrollView包含許多UITextFieldUILabel當用戶開始編輯其中一個UITextField時顯示一個UITableView。當過用戶點擊當用戶點擊uiscrollview時隱藏子視圖(uitableview)

我的問題是UIScrollView以外UITableView不得不隱藏tableview,並當上了tableview用戶點擊都必須表現textfieldtableview單元格的內容。

請記住,tableviewscrollview的子視圖。

我是這個編程的新手,請幫我解決這個問題。

回答

1

這不是一個好的用戶界面。

您應該將您的UITableView封入PopOver。這裏給出了一步一步的過程:How to use UIPopoverController in iPad programming?

編輯:只需使用此方法來顯示popOver

- (void) showPickerPopOverAction 
{ 
    UIViewController *pickerPopOver = [[UIViewController alloc] init]; 
    pickerPopOver.view = yourTableView; 
    pickerPopOver.contentSizeForViewInPopover = CGSizeMake(300, 210); 
    UIPopoverController *pickerPopOverController = [[UIPopoverController alloc]initWithContentViewController:pickerPopOver]; 
    [pickerPopOverController presentPopoverFromRect:yourTextField.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 
} 

它會自動解決您的問題。

+0

你能告訴我該怎麼辦? – Sindu 2013-02-21 08:05:16

+0

你有沒有檢查鏈接? – Bhavin 2013-02-21 08:09:35

+0

通過使用此代碼獲取錯誤 – Sindu 2013-02-21 10:02:13

1
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideSubView)]; 

// prevents the scroll view from swallowing up the touch event of child buttons 
    tapGesture.cancelsTouchesInView = NO;  

    [ScrollView addGestureRecognizer:tapGesture]; 

    [tapGesture release]; 

} 

// method to hide SubView when user taps on a scrollview 
-(void)hideSubView 
{ 
    if (self.SubView.isHidden == NO) 
     self.SubView.hidden = YES; 
} 
+0

它不工作(當我點擊tableview以外的scrollview它不隱藏tableview) – Sindu 2013-02-21 08:45:07

0

流行過僅適用於iPad的不是iPhone或iPod