24844


いつもお世話になっております。  
表題の通りです。

[![画像の説明をここに入力](https://i.stack.imgur.com/lCW0b.png)](https://i.stack.imgur.com/lCW0b.png)

↑登録ボタン（TourokuButton）に画像のような設定をしたいです。  
（この画像はUIButton）のものです。

ですが、BarButtonItemでは、

[![画像の説明をここに入力](https://i.stack.imgur.com/0x807.png)](https://i.stack.imgur.com/0x807.png)

↑こうなります。  
UITextFieldに入力項目がキチンと入力されていないとButtonを押せないような設定をしたいのですが、BarButtonItemでは不可能なのでしょうか？

お解りになる方がいらっしゃればご教授下さい。  
お願いします。


CC BY-SA 3.0
2016-05-13T09:46:14.087
24822
2016-05-14T03:46:00.980
13156
question
swift
BarButtonItemにSentEventのTouchUpInsideは設定できますか？


`Touch Up Inside`や`Editing
Changed`は[`UIControl`](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIControl_Class/)由来の機能なので、[`UIBarButtonItem`](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIBarButtonItem_Class/)では利用できません。

`UIBarButtonItem`がなぜ`UIControl`継承ではないかというと、`UIBarButtonItem`そのものはボタンのようなUI要素ではなく、「バーに表示されるボタンやその他の要素」を抽象化したクラスだからです。

>
> UITextFieldに入力項目がキチンと入力されていないとButtonを押せないような設定をしたいのですが、BarButtonItemでは不可能なのでしょうか？

実現したいことはこちらだと思うのですが、`UIBarButtonItem`を`Referencing
Outlet`で紐付けているのですから、条件に応じて`self.tourokuButton`の`enabled`プロパティを変更すれば良いと思います。


CC BY-SA 3.0
2016-05-14T03:46:00.980
24844
2016-05-14T03:46:00.980
5337
24822
answer