Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

課題②お気に入り機能の作成 #4

Merged
merged 18 commits into from
Jul 2, 2019
Merged

課題②お気に入り機能の作成 #4

merged 18 commits into from
Jul 2, 2019

Conversation

tomu28
Copy link
Owner

@tomu28 tomu28 commented Jun 24, 2019

行うこと

  • お気に入りボタンの設置
  • ボタンの有効範囲を適切にする
  • お気に入りボタンがタップされたら、ユーザーに通知する
  • タップしたら、画像が変化するようにする。この時、お気に入り情報(index番号)を降順で格納する
  • ナビゲージョン画面を作成
  • TabbedViewを使い、レシピ一覧タブとお気に入りタブを作成
  • お気に入りタブのトップにはお気に入り件数を表示
  • データをUserDataで永続化

@tomu28
Copy link
Owner Author

tomu28 commented Jul 1, 2019

Listの中でボタンを設置すると、
そのList全体がボタンとなってしまい、想定通りの動作にならない。

参考サイト

@tomu28
Copy link
Owner Author

tomu28 commented Jul 1, 2019

Listの中でButtonメソッドを用いてボタンを設置すると
意図した動作を行うことが出来なかったため、Image.tapAction{ 行いたい処理 }を追加し実装した。

@tomu28
Copy link
Owner Author

tomu28 commented Jul 1, 2019

Image(systemName: favorite)
のfavoriteをStateで管理する

@tomu28
Copy link
Owner Author

tomu28 commented Jul 1, 2019

タップの度に@Stateを更新し、ボタンの表記を変更する処理の実装を行ったが、
全てのボタンが一斉に変更されるバグがある。

@tomu28
Copy link
Owner Author

tomu28 commented Jul 2, 2019

不具合

Xcode 11.0 beta2の不具合だと考えられるが
Image(systemName: self.favorite[index * 2]などsystemNameで指定した画像がうまく描画されないことがあった。

解決策

再起動したら解決した。

@tomu28
Copy link
Owner Author

tomu28 commented Jul 2, 2019

バグ

お気に入り画面の実装を行ったが、お気に入りの数が奇数の場合
最後のコンポーネントが正常に表示されないバグがある。

issues

@tomu28
Copy link
Owner Author

tomu28 commented Jul 2, 2019

以下のissuesを追加

お気に入りボタンがタップされたらLottieでアニメーションを表示 #6
データを永続化する #7

@tomu28
Copy link
Owner Author

tomu28 commented Jul 2, 2019

動作確認したためMergeします。

動作例

Gif

@tomu28 tomu28 merged commit d5f6b31 into master Jul 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant