1. 程式人生 > >imageview新增子檢視

imageview新增子檢視

os開發UI篇—在ImageView中新增按鈕以及Tag的引數說明

一、tag引數

一個檢視通常都只有一個父檢視,多個子檢視,在開發中可以通過使用子檢視的tag來取出對應的子檢視。方法為Viewwithtag:

提示點:在xib中如果想要通過tag引數獲取對應的控制元件(屬性),不要把tag的引數設定為0,因為xib中所有的物件預設tag都為0,設定為0取不到物件。

 

二、ImageView中新增按鈕
(1)ImageView和Button的比較

Button按鈕的內部可以放置多張圖片(4),而ImageView中只能放置一張圖片。

(2)說明:

ImageView只能顯示一張圖片,我們知道所有的ui控制元件都繼承自UIView,所有的檢視都是容器,容易意味著還能往裡邊加東西。那麼能否在ImageView中加上按鈕呢?

(3)在ImageView中新增按鈕的操作

通常有兩種方式建立控制元件,一是直接在storyboard或xib介面設計器上拖拽,另一種方式是使用手寫程式碼的方式建立。
在介面設計器上面拖拽的無法在ImageView中新增按鈕,那麼我們嘗試一下手寫程式碼。

程式碼如下:

複製程式碼
 1 #import "YYViewController.h"
 2 
 3 @interface YYViewController ()
 4 @end
 5 
 6 @implementation YYViewController
 7 
 8 - (void)viewDidLoad
 9 {
10     [super viewDidLoad];
11 12 // UIImageView預設不允許使用者互動 13 UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 20, 100, 100)]; 14 [self.view addSubview:imageView]; 15 imageView.backgroundColor = [UIColor redColor]; 16 imageView.userInteractionEnabled = YES; 17 18 UIButton *btn = [UIButton buttonWithType:UIButtonTypeContactAdd];
19 [imageView addSubview:btn]; 20 21 [btn addTarget:self action:@selector(click) forControlEvents:UIControlEventTouchUpInside]; 22 } 23 24 - (void)click 25 { 26 NSLog(@"摸我了"); 27 } 28 @end
複製程式碼

(4)執行效果(新增+按鈕後,點選):

(5)注意點:

在上面程式碼中imageView.userInteractionEnabled = YES;的作用是,設定imageView為允許使用者互動的。

imageView預設的是不允許使用者互動的,這個可以通過在介面設計器中檢視imageView的屬性邊欄檢視。

請注意預設狀態的屬性