hiramatch's blog

iOSアプリ開発に目覚め、毎日勉強の日々です。

外部引数名

現在ドットインストールの「Swift入門」 でSwif勉強中です。その中で「外部引数名」についての説明があったので その理解を含めるべくplaygroundで簡単なプログラムを作ってみました。「外部引数名」とは関数呼び出し時、引数にどんな値を渡すかをわかるよう…

JavaScriptの復習

今日は以前習ったJavaScriptの配列, オブジェクト, for文の復習をやっていました。 毎日jQueryばかりやっていたので気分転換になるし、それにプログラム言語というのは覚えるだけでなく、何度か反復し自然に使いこなせることが大事だと考えています。 以下は …

jQuery ボックスのエフェクト

今日はドットインストールコムのjQuery入門 #12 エフェクトの動画を見た後 自分でプログラムを作ってみました。サンプルそのままだと表示後すぐ消えて確認しにくいので setTimeout関数で1秒後に消える様にしました。 <html lang='ja'> <head> <meta charset='utf-8'> <title>#12 エフェクト</title> </head> <body> <div id="test" style="width:150px; height:50px; background:orange"> </div></body></html>

jQueryの属性セレクタ

今日もドットインストールコムでjQueryの勉強をしました。 今日のテーマは属性セレクタといわれるもので 「要素のxxxx属性がyyyyのもの」など属性で対象を指定するセレクタになります。 <html lang="ja"> <head> <meta charset="utf-8"> <title>属性セレクタ addClass</title> </head> <body> <Style> .myClass { font-size:20px; background</style></body></html>…

jQueryのフィルターを使った簡単なプログラム

最近お世話になっているドットインストールでjQueryを学習しています。 今日学んだフィルターを使った簡単なプログラムを作ってみました。以下はフィルタで対象となった要素の文字色を変えるものです。 <html lang="ja"> <head> <meta charset="utf-8"> <title>フィルタ</title> </head> <body> <p>aaaaaa</p> <ul id="sub"> <li>3-0</li> <li>3-1 <ul> <li class="item">3-1-1</li> <li>3-1-2</li> </ul></li></ul></body></html>

JavaScriptで要素追加、削除

数ヶ月間ブログを放置してしまいましたが、ひさしぶりに再開しました。現在はjavaScript, jQueryをやっています。 iOSはこの後やりたいと考えています。javaScriptで簡単なプログラム作ってみました。 ボタンで要素を追加, 削除, フォントカラーを変えるもの…

CGAffineTransformによる回転・拡大/縮小

ずいぶん久しぶりの投稿になりましたが 今回は部品の回転や拡大についての覚え書きです。UIViewおよびその継承クラスのtransformプロパティに対しCGAffineTransXXXを指定します。 回転させる場合はCGAffineTransMakeRocation ※ここで指定する角度の単位は「…

AutoLayoutを使わずに画面中央に図形表示

今日はAutoLayoutを使わずに画面中央での図形表示に挑戦してみました。 iOSデバイスには様々な画面サイズがありますがその画面サイズを UIScreenクラスで画面サイズを取得し、その中心に円を表示させています。 また縦横の中央線も入れてみました。 (今回は…

SwiftでTableViewのデリゲート

今日はTableViewでのデリゲートの方法です。iPhoneアプリでTableViewを実現する為には 「行数を返す」や「セクション数を返す」「セルを返す」といったデリゲートメソッドをViewControllerにデリゲートする必要があります。※「デリゲート」とは「委譲」を意…

SwiftでAutoLayoutに挑戦(multiplier)

過去にSwiftでAutoLayoutを実現する記事を書いたのですがSwiftでAutoLayoutに挑戦 - iOSアプリ挑戦日記hiramatch.hatenablog.comその中でよく分かっていなかったNSLayoutConstraintのイニシャライザに指定するmultipilierについての覚え書きです。このmultip…

テキスト入力するキーボードを非表示

今回はテキストフィールド編集時に表示されるキーボードを非表示にする方法の覚え書きです。改行ボタンを押下したタイミングでキーボードを非表示にする為に①ViewControllerにてテキストフィールドデリゲートプロトコルを指定 ②テキストフィールドのデリゲー…

文字列検索と置換

今日は文字列の検索、置換にはまっていましたのでその覚え書きです。SwiftではString→NSStringに変換してからNSStringとして編集するのが一般的な様です。 (認識違いでしたらすみません )

ImageViewの表示モード(Scele to Fill, Aspect Fitなど)を試してみる

今日はImgeViewの表示モードを変えた時、画像がどう変わるか確認してみました。 以下は確認に使った画像です。 (以前iPhoneで撮影したものでサイズは3264 x 2468です。)以下は上記の画像をサイズ200 x 200の正方形のImagViewで表示させたもので それぞれの表…

SizeクラスでiPhoneの縦横別でレイアウトの異なる画面を作る

今回はXcodeのSizeクラスでiPhoneの縦横別でレイアウトが異なる画面を作ってみました。 SizeクラスとはXcodeの機能で画面サイズ、画面の縦横別に画面のデザインを対応できるもので以下の画面のチェックボックスをONになっていると利用可能です(デフォルトはO…

タッチイベントを受け取り処理を行うUIViewのサブクラスを作成

2週間ぶりの投稿ですみません。今回はタッチイベントを受け取り処理を行うUIViewのサブクラスを作成しましたので、その備忘録になります。 UIViewを継承したサブクラスを作成する場合は イニシャライザをオーバーライドする必要があるようです。またUIView…

SwiftでAutoLayoutに挑戦(複数View)

今回もSwiftによるAutoLayoutです。 前回はボタンを画面中央に表示する制約でしたが 今回は複数のUIViewとそれぞれの相対位置を指定する制約に挑戦しました。 以下は実行後のシミュレーター画面です。(iPhone6) 以下は緑のUIViewになります。 ViewController…

SwiftでAutoLayoutに挑戦

今回SwiftでAutoLayoutを実行するプログラムに挑戦しました。 大きな流れとしては ①ボタンの生成 ②AutoresizingMaskをfalseに設定 ③ボタンをviewcontrollerのviewプロパティに追加 ④制約を追加 となっています。②の「AutoresizingMask」についてはまだよくわ…

AutoLayoutでどのデバイスでも常に中央表示

また久しぶりの投稿になってしまいましたが 今日はAutoLayoutを触っていましたのでそのメモです。AutLayoutの機能でどのデバイスでも画面中央にボタンを表示させる設定をしました。 まずはAutoLayoutで設定する前のプレビューです。 ストーリーボード上では…

Swiftで配列の要素をシャッフルするプログラムを作ってみました

久しぶりの投稿になりますが 昨日iOSアプリの開発講座で教わった配列の要素をシャッフルするプログラムを 再度自分で作ってみました。シャッフルする配列を無作為に一つずつ、取り出し 新たに用意した配列に先頭から追加しています。これまで仕事とかでプロ…

Auto Layoutを使ってみる

今日はXCodeのAuto Layoutを使ってみましたのでそのメモです。やってみたのはラベルを画面サイズに関わらず、常に左下に表示させることです。位置の固定は以下の通りです。 「□」に囲まれている赤い線をクリックで実線にし 数値を入力しています。 また設定…

アクションシートから画面遷移

アクションシートから画面遷移させるサンプルです。 これまでボタンを押下して画面遷移させていたのですが、今回はアクションシートをアクションを指定時に画面遷移させてみました。 セグエはこれまでボタンを次の画面にCtrlボタンを押しながらドラッグして…

失敗のあるイニシャライザ

今回は構造体の失敗のあるイニシャライザのサンプルを作成しました。 イニシャライザはインスタンス生成時に実施される関数で、通常は構造体のインスタンスを生成しますが、失敗のあるイニシャライザではインスタンス生成が失敗しnilを返す可能性があります…

オプショナル型の復習

今日はオプショナル型のサンプルを作成しました。 まずはオプショナル型のアンラップです。 Int型の変数に直接Int?型は代入できないのですが Int?型をアンラップしてInt型に代入は可能です。 次はオプショナルバインディングです。 オプショナルバインディン…

画面遷移およびデータの受け渡し

今回はこれまで苦手意識を持っていた画面遷移のサンプルを作成して見ました 1画面目はデフォルトの画面で 2画面目は右のライブラリからViewControllerをドラッグし 新規追加したSecondViewControllerクラスとひも付けしました セグエは「次へ」ボタンを2画…

gistのソースコードをブログに掲載

gistにてソースコードを貼り付けてブログに掲載してみました 手順は 1. gistにてソースを貼り付け 2. languageにてSwiftを選択 3. 画面右下のCreate public gistボタンを押下 4, 画面右のEmbed URLボタンを押下 5. ブログにURLを貼り付け 以下が実行結果です

構造体のメソッド

メソッドありの構造体のサンプルコードを作成してみました。 メソッドは2つあります。 1つはプロパティを加算した構造体のインスタンスを新たに生成するメソッドadd1で もう一つはプロパティを加算し、書き換えるメソッドadd2です。 通常はメソッド内でプロ…

構造体のイニシャライザ

Swiftの構造体のイニシャライザを使ったサンプルコードを作成してみました イニシャライザとは構造体のインスタンス生成時に動作する関数で 関数名は「init」です。 またイニシャライザはオーバーロードにより複数用意できます。 以下では構造体を3つ作成し…

オーバーロードのサンプルプログラム

今回はオーバーロードのサンプルプログラムを作ってみました。 オーバーロードとは同名の関数を複数定義できるもので 下記では①〜④の4パターンを作成してみました。 引数がStringのplus関数は②、③の2種類ありますが L248では戻り値の指定がなく、どちらの…

関数の引数を書き換える

関数のポインタ渡しを利用したコードを書いてみました。 Swiftでは関数呼び出し時、関数に実引数のコピーが渡されるため(値渡し) 呼び元の実引数が変わることはありませんが(以下のhalf2関数のように仮引数に対し値を設定することも不可) C言語と同様に変数…

SwiftのNSUserDefaultでテキストとスイッチの状態を保持

今回はテキストとスイッチの状態が保持し 次回起動時のデフォルトとなるようなアプリを作ってみました。 テキストの入力文字を以下の流れでNSUserDefaultを使って保持しています (スイッチも同様) ①NSUserDefaultsのインスタンスを生成。 ②setObjectメソッ…

swiftでランダムな値を取得してみました

swiftでランダムな値を取得するプログラムを作ってみました。 ランダムな値を取得する関数は「arcrandom()」になります。 ただし戻り値ががUInt32なので下の例ではInt型に変換しているのと また0から4までのどれかを取得するために Int型に変換した値をさら…

SwiftのOptional valueに苦戦中

XcodeのPlaygroundを使ってSwift言語を学習中ですが Swift言語のOptional Valueで苦戦中です。 Swiftでは通常は変数にnilを設定できない仕様になっていますが(エディター上でエラーになる) Optional Valueの変数に対しては設定が可能となっています。 Optio…

1日に1回はXCodeを起動する

このブログを見てくださりありがとうございます。 ブログ開設から2週間あまりになりましたが この間何かいたらよいかずっと悩んでずっとご無沙汰になりました。 今まで読んでいる人がすごいと思うようなことを書かなければという思いから 何も書き出せずに…

ブログ開設!!!

長く続けられるようがんばります。