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

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

UIBarButtonItemのSystemItemで使えるUIImageを取得する

#経緯
アプリからTwitterやメモアプリ等の外部アプリに画像など、情報を共有したい時のボタンにアクションボタンを使用したい場合がある
↓こういうやつ
![IMG_7856.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246750/85c14765-0d7b-3d42-988a-2a8658b9e9b0.png)
こういう場合に限らず、画像の横にある本の画像、またはゴミ箱画像とかも使いたい。
UIBarButtonItemだと使えるけど、それからUIImageを引き出す事は基本的にできない…
それに画像をネットから同じような画像を探すにしても、商用利用などを確認するのも面倒すぎる…?‍♂️

という事で、UIBarButtonItemのSystemItemからimageだけを使用する方法を共有します?‍♂️

# 実装
検証環境は下記の通りです
OS:10.15.6
Xcode:11.6
Swift:5.0

早速ですが、実装したコードの紹介をします

“` UIBarButtonItem.S

元記事を表示

【iOSアプリ開発】Macのloalhostに実機(iOS)から接続する方法

iOSアプリ開発をしていて、サーバサイドとの連携機能を作成するにあたって、
Macのlocalhostに実機(iOS)から接続する方法を調べました。

# はじめに
Mac上に立てたlocalhostに対して実機(iOS)のアプリから接続する方法と、
iOSシュミレータから接続する方法になります。

# 対象バージョン
– Xcode ver.11.6
– Simulater ver.13.6
– iOS ver 13.5.1

# http接続できるように設定
1. はじめにhttp接続できるようにInfo.plistに設定を追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99869/7d9ba61c-2fc1-9843-32c6-e0ef372392a7.png)
2. App Transport Security SettingのAllow Arbitrary LoadsをYESにします。
![image.png](https://qiita-image-sto

元記事を表示

SwiftでUIViewにグラデーションを付ける方法

# はじめに
SwiftでUIViewにグラデーションを付ける方法をまとめました。

# 対象バージョン
– Xcode ver.11.6
– Simulater ver.13.6
– iOS ver 13.5.1

## デフォルト(上から下)
“`swift
let gradientLayer = CAGradientLayer()
// グラデーションレイヤーの領域をviewと同じに設定
gradientLayer.frame = self.frame
// グラデーション開始色
let topColor = UIColor(red: 0.0, green: 0.0, blue: 0.73, alpha: 0.1).cgColor
// グラデーション終了色
let bottopColor = UIColor(red: 0.0, green: 0.20, blue: 0.40, alpha: 1).cgColor
let gradientColors: [CGColor] = [topColor, bottopColor]
gradientLayer.colors = grad

元記事を表示

UIViewControllerAnimatedTransitioningでカスタム画面遷移アニメーションを実装

# はじめに
UIViewControllerAnimatedTransitioningを使ってカスタム画面遷移アニメーションを実装する方法になります。
検索した情報が古かったり、よくわからないところがあったので、現時点での実装方法とつまずいたところをまとめました。

# 対象バージョン
– Xcode ver.11.6
– iOS ver 13.5.1

# Present/DismissとPush/Popで実装方法が変わる
ViewController間で直接画面遷移する方法(Present/Dismiss)と、NavigationControllerを使用した画面遷移(Push/Pop)では実装方法が変わります。

## Present/Dismissで画面遷移する場合
### 画面遷移イメージ

元記事を表示

[Swift] UIBezierPathで簡単なアイコンサンプルを作成する

# はじめに
アプリ開発をしていて簡易的にアイコンを設定したいと思ったときに、
単純なものならUIBezierPathを使用してサックっと作成してしまうのも良いかもと思いサンプルを作成しました。

# 対象バージョン
– Xcode ver.11.6
– iOS ver 13.5.1

# 完成サンプル
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99869/d6def07e-607a-0529-9654-4d746cc5c7ec.png)

“`swift:UIBezierPathView.swift
import UIKit

class UIBezierPathView: UIView {
private var type: Int = 0

init(frame: CGRect, type: Int) {
super.init(frame: frame)
self.type = type
}

r

元記事を表示

StoryBoardでAn internal error occurred. Editing functionality may be limited.が発生した時の対処

## 事象
StoryBoardでAutoLayoutを作成中、
「An internal error occurred. Editing functionality may be limited.」という警告が発生し、青い線のみになった
そのままビルドするとレイアウトが崩れることも発生(必ずではない)

いろいろなサイトの情報から解消を試みるも尽く失敗。。。
ようやく解消できたので祝砲代わりの投稿

## 動作環境
Xcode 11.5
Xcode 11.3.1

## やったこと
自分の環境では解消しなかったが、解消できることもあるらしい

### プロジェクトのクリーン → 解消せず
1. Product > [option] + Clean Build Folder
2. Xcodeを再起動 → 解消せず

### 制約のエラーを解消 → 解消せず(Xcode 11.3.1で発生した時はこれで解消)
1. Product > [option] + Clean Build Folder
2. Xcodeを閉じる
3. エラーが発生する直前のリビジョンに戻す
4. Xcodeを起

元記事を表示

モバイルブラウザのキーボードの種類は制御できない

スマートフォンなどのモバイル端末のブラウザでは、input要素をフォーカスするとキーボードが出現する。
このキーボードは、「英語」「日本語 – かな」などの種類があり、日本語利用者なら切り替えながら使っているだろう。

で、input要素をフォーカスした時に出てくるこのキーボードの種類を制御したい、という要望はままあるだろう。
たとえば、英数字のみからなる何らかのシリアルコードのようなものの入力欄は、日本語ではなく英語キーボードを表示させたいだろう。
結論からいうと、**キーボードの種類は制御できない。**
もう少し正確に言うと、**日本語ではなく英語キーボードを常に表示させるようにすることはできない。**

## type属性で制御できるのではないか
巷の技術系ブログなどではよく書かれている。

“`html

OTHERカテゴリの最新記事