テーブルビューを回転させてテーブルを傾けようとしています(スターウォーズのオープニングクロールに似た3Dテキストクロールの効果を与えるため)。
周りを見回した後、私はこの質問を見つけましたObjective-с CALayer UIView 実際の回転
受け入れられた答えは私が望むことをしているようですが、コードをTableViewに適用すると何もせず、テーブルはいつものように表示されます。
これは私がコピーしているコードです:
float distance = 50;
CATransform3D basicTrans = CATransform3DIdentity;
basicTrans.m34 = 1.0 / -distance;
_tableView.layer.transform = CATransform3DRotate(basicTrans, M_PI_4, 1.0f, 0.0f, 0.0f);
文字列の配列を作成した後(tableViewにデータを入力する)、これをviewDidLoadメソッドに配置しています
現在、コントローラーには他に 3 つのメソッドしかありません。
didReceiveMemoryWarning (プロジェクトの作成時に自動的に追加されます)
tableView: numberOfRowsInSelection (テーブル ビューの設定に使用) tableView: cellForRowAtIndexPath (テーブル ビューの設定と配列からのセル テキストの設定に使用)
私の理解では、テーブルビューには CALayer があり、CATransform3D はこれを操作して 3D 空間でのビューの表現を提供します。私の理解が正しければ、リストが画面に正常に表示される理由がわかりませんか? 私はまだ私が望む効果を与えていない数字に感謝していますが、画面上のtableViewの外観には少なくとも影響を与えるはずです。
また、QuartzCoreなどをインポートして、リンクされたフレームワークに追加しました
解決策は、セルがnullであることを確認した後、 - (UITableViewCell *)tableView: cellForRowAtIndexPath: メソッドでOLD answerとしてマークされたコードを使用することです。