從零開始iOS8編程【iOS開發常用控件】
來源:程序員人生 發布時間:2014-12-13 09:17:02 閱讀次數:2783次
郝萌主傾心貢獻,尊重作者的勞動成果,請勿轉載。
如果文章對您有所幫助,歡迎給作者捐贈,支持郝萌主,捐贈數額隨便,重在情意^_^
我要捐贈: 點擊捐贈
Cocos2d-X源碼下載:點我傳送
AlertView控件
彈出對話框:
修改HelloHaoMengZhu項目代碼, 添加AlertView:
-(IBAction)testAlert {
NSString *str = [[NSString alloc] initWithFormat:@"Hello, %@",txtField.text];
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"提示" message:str
delegate:self
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[str release];
[alert show];
[alert release];
}
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
NSLog(@"%@",@"Ok" );
}
ActionSheet控件
ActionSheet和AlertView比較相似都是給用戶1個提示信息。
它是從底部彈出。
它通經常使用于確認潛伏的危險或不能撤銷的操作, 如刪除1個數據。
為了使用ActionSheet我們需要在h文件中實現UIActionSheetDelegate協議。
其中, 我們常常需要實現:actionSheet:didDismissWithButtonIndex:
該方法是ActionSheet消失的時候調用。
修改Hello-.h文件
@interface HelloHaoMengZhuViewController : UIViewController
{
UITextField *txtField;
UIActivityIndicatorView * myActivityView;
IBOutlet UIProgressView *Progress;
NSTimer *timer;
}
在Hello_Controller.h文件中添加協議UIActionSheetDelegate:
-(IBAction)testActionSheet {
NSString *str = [[NSString alloc] initWithFormat:@"Hello, %@",txtField.text];
UIActionSheet *action = [[UIActionSheet alloc] initWithTitle:@"提示"
delegate:self
cancelButtonTitle:@"取消"
destructiveButtonTitle:@"肯定"
otherButtonTitles:nil];
[str release];
[action showInView:self.view];
[action release];
}
- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex == [actionSheet destructiveButtonIndex]) {
NSLog(@"%@",@"肯定" );
} else if (buttonIndex == [actionSheet cancelButtonIndex]) {
NSLog(@"%@",@"取消" );
}
}
等待有關控件
對1些費時的處理, 需要使用1些等待控件消除用戶心里等待的時間。
等待有關的控件有:
UIActivityIndicatorView
UIProgressView
設計UI:
UIActivityIndicatorView的實現

-(IBAction)onClickButton2: (id)sender {
if ([myActivityView isAnimating]) {
[myActivityView stopAnimating];
} else {
[myActivityView startAnimating];
}
}
UIProgressView的實現
-(IBAction)start{
Progress.progress = 0.0;
timer = [NSTimer
scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(update)
userInfo:nil repeats:YES];
}
代碼說明:
NSTimer是可以隱式地啟動1個線程,
scheduledTimerWithTimeInterval指定線程要休眠多少時間調用1次,
selector所指定的方法update。
-(void)update{
Progress.progress = Progress.progress + 0.1;
if (Progress.progress == 1.0) {
[timer invalidate];
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"任務通知"
message:@"波多野結衣.avi 下載完成!"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[alert release];
}
}
代碼說明:
UIProgressView控件的progress屬性是0.0~1.0煩范圍。
0.0時候在開始的位置, 1.0時候是進度到了100%。
郝萌主傾心貢獻,尊重作者的勞動成果,請勿轉載。
如果文章對您有所幫助,歡迎給作者捐贈,支持郝萌主,捐贈數額隨便,重在情意^_^
我要捐贈: 點擊捐贈
Cocos2d-X源碼下載:點我傳送
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈