![見出し画像](https://assets.st-note.com/production/uploads/images/157462688/rectangle_large_type_2_71a8989640411831dee4e1b876304193.png?width=1200)
【Figma】テキスト入力すると左右に伸びるUI部品を作成する
![](https://assets.st-note.com/production/uploads/images/157106885/picture_pc_5b1dea201bdd3df3f975e14c9a1ee64f.gif?width=1200)
テキスト入力すると左右に伸びるUI部品の作成・・・ということで、いろいろ試行錯誤していたら再現できたので、メモしておく。
この表示は、簡単に出来そうで出来ないところが、もどかしいところ。
わかってしまえば、なんてことはない。
■基本をおさらい
とりあえず、基本をおさらいしておく。
まず、入力したテキストから枠線を作成する。
途中、オートレイアウトを適用し、左右に水平パディングで余白を設定する。枠線両端のラウンド形状は、角丸で設定。
作業の流れは、下図の通り。
![](https://assets.st-note.com/img/1728299489-Q7aiODuM291ZTobC63yWmkxq.png?width=1200)
![](https://assets.st-note.com/img/1728337182-niSJzLtmQEr8xY7qpT6aPUhk.png)
それから、水平方向のサイズ調整>内包(コンテンツを内包) に設定を確認する(※初期設定)。
![](https://assets.st-note.com/img/1728306073-Ols67dif0RkWPTjoJ4zcD1qF.png)
これで、テキストを入力すると枠線に内包された状態で、右方向に形状が伸びていく。
![](https://assets.st-note.com/production/uploads/images/157094960/picture_pc_8736a08cef33da7823b765b6c08c7d9e.gif)
これは、比較的簡単にできる。
Figma公式チュートリアルも、これ止まりだった。
あとでコンポーネント化して、UI部品として、便利に利用しよう。
__________とりあえず、完成。
● ● ●
一方で・・・、
下図のようにテキスト入力時、中央揃えで、左右に形状が伸びていくようにするには、どうしたらよいだろうか。
![](https://assets.st-note.com/production/uploads/images/157098412/picture_pc_ec8a9f2e85583822453d01ebe2847056.gif)
(ヒント:入れ子フレーム、オートレイアウト、制約)
■テキスト入力時、中央揃えで左右に形状が伸びていくようにする
上記で、作成した「Message」オブジェクトを再利用する。
別途、大き目のフレームを作成して、その中に配置する。
特に難しくはなく、オブジェクトをDrag & Dropでフレーム内に配置して、少し追加設定するだけ。
その大き目のフレームにオートレイアウトを設定する。
![](https://assets.st-note.com/img/1728299804-kxGlsMDAchw186OW3ueTC7rP.png?width=1200)
「Message」オブジェクトを選択する。
![](https://assets.st-note.com/img/1728303470-MoRsrcFinvY9bVq6GgEkOdLN.png?width=1200)
そして、下図の赤丸絶対座標 ボタンをクリックする。
![](https://assets.st-note.com/img/1728301545-mPihKLgzTwyMeEJH95ZcN27b.png)
すると、プロパティパネルに制約が表示される。
![](https://assets.st-note.com/img/1728299844-IqCO7QnJefpdiA2xhzbFP3rU.png?width=1200)
制約の水平、垂直を「中央」に設定する。
※絶対座標>制約利用時は、オートレイアウトは、無視される。
![](https://assets.st-note.com/img/1728301615-QpJuXwtLTki7a4gYB1DfIdbq.png)
フレームをスケールしても、制約でオブジェクト位置を中央に固定した状態ができた。
![](https://assets.st-note.com/production/uploads/images/157102061/picture_pc_27b0d6d97ab801f8d73285c3ca9afada.gif?width=1200)
![](https://assets.st-note.com/img/1728336408-nIt7gzAPBY69phmEx2VDMWrw.png)
この状態で、テキスト入力すると、中央揃えで左右に形状が伸びていくように表示される。
![](https://assets.st-note.com/production/uploads/images/157096543/picture_pc_8e323e99dbdb81b2a8f9cd73a67ddc06.gif?width=1200)
__________これで完成。
この表示は、どのような状況で役立つかというと、ボタンやテキストのレイアウトが中央揃えの場合、この状態のままテキストを入力して調整すればよい。これが、左揃えになっていると、テキスト入力した後、位置調整する必要が発生するので。
■おまけTips
大き目のフレームをリサイズして小さくしておくとU部品として、扱いやすいかも。
ちなみに、Altキーを押しながらフレームをリサイズするとフレームのみリサイズする動作で、「Message」オブジェクトの位置を動かさなくて済む。
最後は、オブジェクトをコンポーネント化して、UI部品として再利用しやすくしておくとよさげ。
![](https://assets.st-note.com/img/1728303820-eXI3zNLR1s4bAQV06GC7UgD5.png)
![](https://assets.st-note.com/img/1728336522-tO2PlNuagJnXdQ4w83bkmyWf.png)
なお、フレームサイズは扱いやすいサイズにしておく。小さ目でも構わない。もし、オブジェクトがトリミングされて一部表示が消えてしまう場合は、オブジェクトパネル>コンテンツを隠す を無効にしておくと表示される。
![](https://assets.st-note.com/img/1728303856-B94KUp1RckP6reIGsoC0FT5h.png)
あと、余談だが、フレーム内でオブジェクトの位置合わせする際は、整列ツールを利用すると楽に位置決めができるので利用されたし。
![](https://assets.st-note.com/img/1728336690-tqLAOuihdMpIEGFUg7jwVCsr.png)
以上。