2012-05-28 90 views
6

我有一個iPhone應用程序,並在按鈕上單擊它應該打開一個自定義警報視圖通過顯示右上角的一些文本和「X」十字標誌窗口,因爲我們在燈箱中任何Web應用程序。如何在iPhone應用程序中創建自定義UIAlertView

+0

是否要定製uialertview的按鈕? – Saad

+0

是的,我想定製它們以適應邊框的邊框,看起來像在網站上的popview – james

+0

你需要什麼是不明確的你的問題。你想打開按鈕點擊一個視圖,左上角的關閉按鈕.then你有沒有使用alertview.just使用您的設計視圖,並隱藏它時,視圖加載和按鈕點擊取消隱藏視圖..它是騙子 – hacker

回答

0
- (void)willPresentAlertView:(UIAlertView *)alertView; 
- (void)didPresentAlertView:(UIAlertView *)alertView; 

在上述任何消息中,檢查子視圖及其類,並根據需要更改值。請參閱UIActionSheet的示例代碼。使用ns日誌搜索所有組件的類並自定義您的期望類。這是uiactionsheet代碼

for (UIView* view in [actionSheet subviews]) 
    { 
     NSLog(@"%@",[view class]); 
     if ([[[view class] description] isEqualToString:@"UIAlertButton"] && [view respondsToSelector:@selector(setAlpha:)]) 
     { 
      [view setAlpha:2.0]; 
      [view setOpaque:YES]; 
      if ([view respondsToSelector:@selector(title)]) 
      { 
       NSString* title = [view performSelector:@selector(title)]; 
       if ([title isEqualToString:@"Cancel"] && [view respondsToSelector:@selector(setBackgroundImage:forState:)] && [view respondsToSelector:@selector(setFrame:)] && [view respondsToSelector:@selector(setFrame:)] && [view respondsToSelector:@selector(setTitleColor:forState:)]) 
       { 

        [view setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 
        [view setBackgroundImage:[UIImage imageNamed:@"btn-cancel.png"] forState:UIControlStateNormal]; 
        [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y+10, view.frame.size.width,view.frame.size.height)]; 

       } 
      } 
     } 
    } 
+0

我沒有得到這個可以解釋我更 – james

+0

看。 ios在每個視圖上都有圖層。你必須搜索出屏幕上的每一層,然後檢查它的類別。例如一個警報有一個標籤,一個按鈕,還有一個按鈕還有一個標籤等,當你找到你的目標類像按鈕,然後你可以改變它的行爲 – Saad

+0

告訴我,如果你得到它 – Saad

1

如果要實現自定義告警視圖 ,那麼你應該有非常吸引人的警報此示例代碼Views集合視圖控制器的幫助。 試試這個示例代碼鏈接 https://github.com/eaigner/CODialog

相關問題