これが私のシナリオです:
UIViewController
マッピング機能用に StoryBoard にがあります。次のようなGoogleマップビュー(GoogleMaps iOS 1.3.1)を追加しています:
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
longitude:151.20 zoom:6];
mapView_ = [GMSMapView mapWithFrame:CGRectMake(0, 49, 320, 450) camera:camera];
mapView_.myLocationEnabled = YES;
self.view = mapView_;
カスタム ビュー MapTopBar.xib を作成しました。簡単に言えばUIView
、UIImageView
(背景)とUITextField
&ボタン付きです。バッキング クラス ファイルがあり、すべての UITextFields プロパティが設定されています (デリゲート、アウトレットなど)。
次のように、カスタム ビューを Map VC に追加しています。
UIView *topBar = [[MapTopBar alloc] initWithFrame:CGRectMake(0, 0, 320, 49)];
[self.view addSubview:topBar];
カスタム ビューがメイン ビューに追加されていますが、UITextField
タッチ イベントを受信していません。キーボードが表示されず、フィールドにカーソルがなく、何もありません。何かがそれを覆い隠し、ユーザーの操作を許可していないようです。その隣のボタンは押すことができ、正常に動作します。
私はこれをさまざまな方法で実行しようとしました (プログラムで topBar ビュー全体を作成し、プログラムでテキスト フィールドを追加する)、何があっても、テキスト フィールドはユーザーの操作を取得しません。
ユーザー インタラクションを有効にし、テキスト フィールドの上にビューがないことを確認しました。すべて null です。シンプルなものが欠けているような気がします。テキストフィールドを操作できないのはなぜですか?
また、関連する場合、上記のコードはviewDidLoad
、スーパーコールの前に呼び出される独自のサブ内にあります。