問題タブ [ibdesignable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - プログラムによるUIButtonの背景色
@IBDesignable
背景色を白に設定し、部分的に低いアルファを使用して、一連の「半透明」UI 要素を作成しました。
これは機能しますUIView
がUIButton
、背景はクリアのままで、テキストの色は実行時に白として正しく表示されますが、Xcode (IB) ではデフォルトの青として表示されます。
ここで何が間違っていますか?で機能する場合UIView
、同じコードが で機能しない理由がわかりませんUIButton
。
xcode - 以前にレンダリングされた IBDesignable がストーリーボードの「更新中」でハングする
- Xcode 7.0.1 (7A1001)
- iOS 9.0
drawRect 関数のみを実装して、カスタム @IBDesignable UIView を作成しました。そのようです:
この drawRect を書いている間、View Controller でのこのレンダリングのいくつかの異なるインスタンスを含むストーリーボードがありました。drawRect に変更を加えて保存すると、これらの変更はほぼリアルタイムでストーリーボードに反映されます。列挙型を変更し、それに応じて別の方法で描画できる IBInspectable String さえありました。ビューはストーリーボードでサイズ変更でき、新しい幅と高さは描画コードで考慮され、描画は意図したとおりに拡大縮小および変換されます。
これはすべて正常に機能し、その UIView サブクラスに変更を加えていませんでしたが、実際にこのカスタム ビューを使用することになる新しいビューを構築しているときに、ストーリーボードのテスト ビューを削除しました。
制約をいろいろ試した後、カスタム ビューを適切な場所に配置する準備が整いました。しかし、うまくいきません。ID インスペクタがカスタム クラスを IBDesignable として認識している間、「更新中」ステータスでハングします。
私が狂っていないことを証明するために、単純な drawRects または完全に空の drawRects を実装する、まったく新しい @IBDesignable UIView サブクラスを作成しました。これらは現在同じ問題を抱えており、ストーリーボードにレンダリングされていません。
これをシミュレーターで実行できることに注意してください。描画は実行時に期待どおりに表示されます。では、IBDesignable に期待する素晴らしいフィードバックを提供するストーリーボードの機能はどうなったのでしょうか?
私が試したこと:
- クリーン/クリーン ビルド フォルダー/XCode Derived Data ディレクトリのクリア
- XCode の再起動
- drawRect ガッツの削除・コメントアウト
- HelloWorld のようなチュートリアルで最もシンプルな @IBDesignables を作成する
- 既存の既知の作業 @IBDesignables を使用する
- ストーリーボードに新しい UIViewController を作成してカスタム ビューを配置する
- トグル: エディター > ビューを自動的に更新
- エディター > すべてのビューを更新
- エディター > 選択したビューのデバッグ
これらの試みはすべて、ID インスペクタのカスタム クラス セクションに「更新中」と表示され続けます。
明らかに、私の実装を超えた何かがここで問題を引き起こしています。他にこの問題を抱えている人はいますか?誰かが私を正しい方向に向けることができますか? 他に何を試すべきかわからない。
ios - 別のプロパティの数が増えると、より多くのプロパティを生成します
基本的に、私はその中に無制限の量の UIView を持つことができるビューを持っています。self.numberOfSections = 8
私は、設定したりself.numberOfSections = 2
、同じ数をそれぞれ生成したりして、操作できるようにしたいと考えていUIImages
ます。
IBInspectible
現在、2 つの numberOfSections または 100 numberOfSections がある場合でも、コードに多くの画像が表示されます。UIImages
どうにかして numberOfSections 番号に基づいて作成できるようにしたいと思います。
ここで Number Of Sections を 2 に設定すると、ストーリー ボードに画像を設定できますが、他のすべての IBInspectable 要素も表示され、セクションが 2 つしかないため使用されません。必要なものだけを表示する方法はありますか? ストーリーボードに画像を設定したい。非常に多くの IBInspectables を持たないように、これをリファクタリングする方法はありますか?
これは、コードでプログラムによって生成されたさまざまなビューに画像を設定する方法です。
swift - @IBDesignable - @IBInspectable、キー値コーディングに準拠していないクラス
@IBDesignable クラスを使用しているときに、奇妙な再現可能なエラーが突然発生しました。@IBInspectable プロパティは次の警告を出しています。
Main.storyboard: 警告: IB Designables: "UIButton" のインスタンスのキー パス "test" に対するユーザー定義のランタイム属性を無視します。値を設定しようとすると例外が発生します: [ setValue:forUndefinedKey:]: このクラスは、キー テストのキー値コーディングに準拠していません。
明確にするために、この警告は Xcode のみの問題であり、問題なくパッケージ化されています。それでも迷惑!
再現する手順
- 新しいプロジェクトを作成
@IBInspectable String プロパティを使用して、カスタム @IBDesignable UIButton サブクラスを作成します。
- Button をストーリーボードの View Controller にドラッグし、Identity Inspector でカスタム クラス "TempButton" を指定します。
- これで、「Temp Button」プロパティの属性インスペクターに「Test」属性が表示されます。このフィールドに何かを入力します。
- バム!上記の警告が表示されます。フィールドからテキストを削除すると、警告が消えます。
私はいくつかの解決策を試しました-異なる変数名、「テスト」プロパティをオプションにする、初期化子を使用する、これまでのところ運がありません。
問題のスクリーン キャプチャを次に示します。
ios - IB Designables: 自動レイアウト ステータスの更新に失敗しました: エージェントが「NSInternalInconsistencyException」例外を発生させました: バンドルに NIB を読み込めませんでした
私はxibからstroyboard create previewを使用していますが、次のエラーが発生しました:
コード:
File's Owner
クラスではなくクラスごとのXibロードUIView
、オンiOS8
は正常、iOS7
エラー
エラー パス:
1.プロジェクトのターゲットを に変更し
iOS7
ます。2.Xcodeを終了します。
3.DerivedData フォルダーを消去します。
4.プロジェクトを開きます。
5.選択さ
Main.storyboard
れ、プレビューが表示されます。
これはデモです