2

アクションとアウトレットにうまく接続されたボタンで満たされた UIView があります。しかし、私の無限の知恵では、ボタンの動作を変更して、UIControl をサブクラス化したほうがよいと判断しました。

私の計画は、Interface Builder に飛び乗って、ボタンのクラスを新しい UIControl サブクラスに変更してから、起動して実行することでした。これにより、アウトレットとアクションの接続がすべて保持されます。

IB (View Identity Inspector) で、クラス フィールドに UIControl サブクラスを入力すると、タブ アウトすると UIButton に戻ります。UIButton サブクラスはすべて機能しますが、UIControl は機能しません。継承ツリーを下ることはできますが、上に行くことはできません....

最初の計画は、XCode に移動して、新しいコントロールのスーパークラスを一時的に UIButton に変更し、IB ボタンの「クラス」を変更してから、XCode コードのスーパークラスを UIControl に戻すことでした。IB はクラスを受け入れて変更しましたが、アプリを実行すると、見えないボタンが表示されます。IB 属性インスペクターには、引き続きボタンとして表示されます。

コントロールをゼロから作成して再配線することは機能しますが、回避できる場合はすべてのボタンを再配線しないことを望んでいました. (これは私が複数のアプリにまたがることを望んでいた変更であるため、聞こえるのは少し苦痛です)

誰でもこれを回避する方法を知っていますか?

どうもありがとう!

4

1 に答える 1

0

私はこれに1年遅れていますが、将来誰かを助けるかもしれません。おそらく、テキスト エディターで .xib を開き、それを機能させるためにどのテキストを変更する必要があるかを把握し (最初にサンプル プロジェクトで試してください)、検索と置換を使用してそれらすべてを一度に修正することができます。

于 2011-07-14T21:28:54.413 に答える