0

IB でタイプが「カスタム」に設定されている UIButton があります。コードでは、ボタンは次のようにフォーマットされます。

self.btnScan.layer.borderColor = [[UIColor blackColor] CGColor];
self.btnScan.layer.borderWidth = 1.0f;
self.btnScan.layer.backgroundColor = [[UIColor whiteColor] CGColor];
self.btnScan.layer.cornerRadius = 0.0f;

IOS-Simulator では正しく表示されますが、デバイス (iPad 2) でテストすると、実際の黒の丸みを帯びていない境界線に加えて、明るい灰色の丸みを帯びた角があります。写真を見る:

オリジナルサイズ:コーナー

拡大サイズ:コーナー拡大

私も試しました

[self.btnScan.layer setMasksToBounds:YES];

成功せずに。

灰色の丸みを帯びた角を取り除くにはどうすればよいですか? どんな助けでも大歓迎です。

編集:このエラーがデバイスにのみ表示され、シミュレーターには表示されない理由は何でしょうか。また、xCode clean とアプリの再インストールを試みました。

4

4 に答える 4

2

明らかにそれはまだ標準UIButtonTypeRoundedRect です。初期化に問題があります。IB と初期化コードを再確認してください。ボタンがカスタムの場合、内部には何も表示されません。

デバイスにのみ表示される場合は、デバイスに古い nib ファイルがある可能性があります。アプリを削除し、Xcode でクリーンアップを行ってから、再インストールします。

于 2013-05-28T09:07:30.107 に答える
1

すべての回答に感謝します。あなたの提案は、すべてのケースの 99,99% で機能していると確信しています。しかし、私の特別なケースでは、xCode が物事を完全に台無しにしていたようです。

xCode を数回再起動し、IB とコードのすべての設定 (アウトレットなど) を再確認しました。プロジェクトをクリーンアップしました。iPad からアプリを削除し、再インストールしました。私はxibにいくつかの新しいボタンを作成しましたが、それらはすべて同じ問題を抱えていました。

最終的に助けになった唯一のことは、xibを削除して最初から再作成することでした。これは最も美しい解決策ではないかもしれませんが、問題は解決しました。多分これは誰かを助けるでしょう。

于 2013-05-28T10:44:00.433 に答える