標籤:
什麼叫控制項?
- 螢幕上所有UI元素都叫做控制項(也有叫做視圖、組件)
控制項的共同屬性
蘋果將控制項的共同屬性都抽取到父類UIView中
父子控制項
- 每個控制項都是一個容器,都可以容納其他控制項
- 內部的小控制項是大控制項的子控制項
常用屬性
獲得自己的父控制項對象
@property(nonatomic,retain)UIView *superview;
獲得自己的所有子控制項對象 -數組元素的順序決定了子控制項的顯示層級
@property(nonatomic,readonly,copy)NSArray *subview;
-(void)addSubview:(UIView *)view;
- 添加一個子控制項view
- 例:- (IBAction)buttonClick { UISwitch *s = [[UISwitch alloc]init]; [self.view addSubview:s]; }
(void)removeFormSuperview;
//CGRect是一個結構體,有四個小屬性,位置座標和大小//控制項矩形框在父控制項中得位置和尺寸(以父控制項的左上方為座標原點)//向右為x正方向,縱向向下為y軸正方向。x,y分別表示距矩形邊框的距離- @property(nonatomic)CGRect frame;- @property(nonatomic)CGRect bounds;//控制項矩形框的位置和尺寸(以自己左上方為座標原點,所以bounds的x、y一般為0)- @proerty(nonatomic)CGPoint center;//控制項中點的位置(以父控制項的左上方為座標原點)
注意點
- 在按鈕設定時候,type屬性初始情況下是system狀態,此時在按鈕點擊時候,會變灰。
- 當自己定義按鈕高亮、不可用等狀態的時候,需要將type屬性設定為Custom(自訂)
顯示指標
self.addBtn.hidden = YES; 設定為隱藏self.addBtn.alpha = 0; 設定透明度,預設是1.0(100%不透明)[self.addBtn removeFormSuper]; 直接刪除
SEL類型其實就是對方法的封裝 @selector(方法名)
實現計時器的方法
- 方法1:performSelector
[self performSelector:@selector(hideHUD) withObject:nil afterDelay:2.0]參數一:SEL方法參數二:參數參數三:?s延遲
- 方法2:GCD
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
self.hud.alpha = 0.0;
});
方法3:NSTimer(當repeats=YES時候,則每隔1.5s調用一次方法)
- [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(*) userInfo:nil repeats:NO];
HUD
常見問題
IOS開發UI基礎學習-------總結