AccessoryView 指的是透過 UITextView 或是 UITextField 呼叫出虛擬鍵盤時,會在虛擬鍵盤上方出現的一個 UIView,當觸發鍵盤事件時,AccessoryView 會伴隨著虛擬鍵盤出現或者消失,以往我們會透過 NSNotificationCenter 傾聽鍵盤事件,來做出類似的效果,像是製作鍵盤上方的工具列等等,但是現在你只需要透過 setInputAccessoryView: 方法函式即可以完成類似的動作。
在 UITextView 與 UITextField 物件中,你可以找到 setInputAccessoryView: 方法函式,方法如下:
//製作一個AccessoryView
UIView *myAccessoryView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 30)];
//文字敘述
UILabel *myLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 220, 30)];
[myLabel setText:@"TextField - AccessoryView"];
[myLabel setTextColor:[UIColor lightGrayColor]];
[myLabel setBackgroundColor:[UIColor clearColor]];
//圖片
UIImageView *myImageView = [[UIImageView alloc] initWithFrame:CGRectMake(220, 0, 100, 30)];
[myImageView setImage:[UIImage imageNamed:@"DEMO LOGO.png"]];
[myImageView setContentMode:UIViewContentModeScaleAspectFit];
[myAccessoryView addSubview:myLabel];
[myAccessoryView addSubview:myImageView];
//以TextField為例加入自訂的AccessoryView
[myTextField setInputAccessoryView:myAccessoryView];
另外,你也可以參考索引式搜索列表中的 UIKeyboard 元件分類,獲得更多有關虛擬鍵盤的資訊。
沒有留言:
張貼留言