Xcode で非常に厄介なことに気付きました。ストーリーボードを開くと、特定のビューのサイズと位置が体系的に更新されるものがあります。これは、特にチームで作業しているときに厄介です。
この動作を生成する方法は次のとおりです。
- Gitリポジトリからアプリをプルする
- 影響を受けたストーリーボードをまったく変更せずに開く
- git diffはすでに次のような違いを教えてくれます
$ git diff
...
- <rect key="frame" x="576.99999828648401" y="11" width="170" height="20"/>
+ <rect key="frame" x="577" y="11" width="170" height="20"/>
...
- <rect key="frame" x="518.99999921768904" y="7" width="228" height="30"/>
+ <rect key="frame" x="519" y="7" width="227.99999841338541" height="30"/>
他の人にもこのようなことが起こっていますか?
質問は:
ストーリーボードを開いただけなのに変更されてしまうのはなぜですか? また、それを防ぐにはどうすればよいですか?
知らせ:
これはsとs<rect />
に含まれている場合にのみ発生するようですlabel
textField
ベストアンサー1
Xcode は、ストーリーボードのレイアウト情報を XML ファイル (.storyboard) に保存します。そのため、ストーリーボードの変更はすべてその XML に反映されます。特にチームメイトと作業している場合は、この情報が定期的に変更される可能性があります。いくつかの項目を移動して試してみて (他の項目は変更しないでください)、その後、git リポジトリとの差分を開始します。XML の変更が再度表示されるはずです。git チェックアウトでストーリーボード ファイルを無視することもできます。ただし、チームメイトがストーリーボードに新しい項目を追加している可能性があるため、これはあまり意味がありません。
これも役に立つかもしれません: [Xcodeは変更されていないストーリーボードとXIBファイルを変更します
最初の回答を正しく理解していれば、他の変更によってストーリーボード XML ファイルの変更もトリガーされる可能性があります。
トーマスより