iOS関連のことを調べてみた2020年12月30日

iOS関連のことを調べてみた2020年12月30日

[Swift5]UIButtonタップしてタブを切り替える方法(応用可能)

## 今回やりたいこと
ログインページなどでよく見かけるモーダル遷移で表示したController内で、
UIButtonをタップすると、指定したTabを選択状態にしてモーダル画面を閉じるということ。

つまり、モーダル画面の裏側でタブの切り替えをおこなうということです。

挙動動画
https://gyazo.com/828856720584516e602ebffd83f71c22

添付動画を例に挙げると、タブ1(アカウントタブ)をタップしてモーダル画面を表示し、
キャンセルボタンをタップするとタブ(ニュースタブ)に切り替わってからモーダル画面を閉じるということ。

これはタブの数が増えても応用できますし、UIButtonだけでなく様々な場面で応用できます。

## 実装コード

“`swift
//キャンセルボタンをタップすると呼ばれる
@objc func cancelTap() {

//①タブバーのインスタンスを取得
if let tabBarController = UIApplication.shared.keyWindow?.rootView

元記事を表示

[Swift] private(set)を簡単に説明

#private(set)とは
private(set)が定義されているクラスや構造体の中では変更できるが、

それ以外の場所では読み取りのみ行う事が出来ます。

privateだけの場合は、定義されている場所内では変更・読み取りできるが、

それ以外では変更も読み取りも出来ません。

private(set)は変更できないようにアクセス制限するが読み取りは可能でprivateより制限がゆるいという事です。

#使ってみた
private(set)の方はエラーにならず、読み取り出来ています。

“`swift
class test {
private var number1 = 0
private(set) var number2 = 2
}

let Test = test()

class test2 {
let a = Test.number1 //’number1′ is inaccessible due to ‘private’ protection level
let b = Test.number2
}
“`

元記事を表示

podfile関連エラーと対処法(自分用メモ)

#発生したエラー
iphoneのシミュレータでデバックしようとすると下記のようなエラーが出る

##エラー文①
“`dart
Error output from Xcode build:
objc[27479]: Class AMSupportURLConnectionDelegate is implemented in both ?? (0x1f5bfb8f0) and ?? (0x11acd02b8). One of the two will be used. Which
one is undefined.
objc[27479]: Class AMSupportURLSession is implemented in both ?? (0x1f5bfb940) and ?? (0x11acd0308). One of the two will be used. Which one is
undefined.
“`

##エラー文②
“`dart
Error output from CocoaPods:
[!] Automatical

元記事を表示

NFCタグにスマホをかざして家電を操作できるようにしてみた

#はじめに
ここ最近、リモートで働くようになって家にいる時間が長くなってきました。少しでも面倒なことはなくしていきたいということで、NFCタグにスマホをかざすだけで家電を操作できるようにしました。ちょっと宣伝になってしまうのですが、少し前に[nature_remo_api](https://rubygems.org/gems/nature_remo_api)というgemを作ったので、そちらを使っていこうと思います。

#用意するもの
– iPhone
– NFCタグ(自分は[こちらのNFCタグ](https://www.amazon.co.jp/gp/product/B088HD9JQS/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1)を購入しました。ただ、ちょっと反応が悪い気がする・・)
– Raspberry Pi
– Nature Remo

#全体の流れ
ざっくりですが、最終的な全体の構成は以下のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.a

元記事を表示

【iOS】最初に表示する storyboard を変更する

# 環境

* Xcode 12.3

# 方法

info.plist の Main storyboard file base name だけでなく、下図でハイライトされている行も変更する。
 ![スクリーンショット 2020-12-12 10.32.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/650727/e05045f3-0d3f-ee2d-e955-484d581b06a8.png)

元記事を表示

[SwiftUI]SwiftUIの記法をSwiftらしく理解する。

[SwiftUI](https://developer.apple.com/jp/xcode/swiftui/)はこれまでのUIKitを用いたUIの作成に変わる新たな方法としてWWDC 2019で発表されたフレームワークです。最近ではWidgetがSwiftUIでないと作れなかったりと、将来的にはSwiftUIを用いた開発が主流になっていくと思います。
自分もだいぶ前からSwiftUIの勉強をなかなか気乗りせずにいましたが、Widgetを期に本格的に勉強を始めました。。

↓有限不実行のツイート