Auto Layout ガイド 目次 概要 4 はじめに 5 この資料の構成 5 Auto Layoutの考え方 6 制約の基本事項 6 固有の寸法 7 アプリケーションアーキテクチャ 8 コントローラの役割 8 InterfaceBuilderにおける制約の操作 9 制約を追加する 9 Control-ドラッグ操作で制約を追加する 9 「Align」メニュー、「Pin」メニューで制約を追加する 11 不足している制約、候補として示された制約を追加する 13 制約を編集する 13 制約を削除する 13 Auto Layoutを操作するプログラム 14 制約をプログラムで作成する 14 制約を組み込む 15 配置に関する問題の解決 17 問題を特定する 17 ビューの誤配置を解決する 18 制約間の衝突を解決する 19 不定性を解決する 19 制約が不足している場合 19 中身の大きさが
そこで、以下の4つの特徴を持つ言語として紹介された。 高速 モダン(クロージャー、オプショナル型、ジェネリクス、型推論、タプル……) 安全 インタラクティブ(REPL:対話実行環境、Playground) また、Cocoaフレームワーク・ランタイムをObjective-C言語環境と共有しており、Objective-C言語を使った場合と同様に何の制限もなくアプリ開発が可能で、SwiftコードとObjective-Cコードとの混在もできることなどが強調された。 この発表直後から、Swiftは洗練された言語仕様などから大きな注目を集めたが、そこから現時点で2年ほどの短期間で大きな進化を遂げている。Swift 2.2までの進化の変遷 これまで短いスパンでSwiftにはさまざまな改善が繰り返されてきたが、その説明のためにも、現時点での正式版最新の2.2.1までの進化の変遷をざっと見ておこう。 Sw
About the content This talk was delivered live in March 2015 atSwift Summit London. The video was transcribed by Realm and is published here with the permission of the conference organizers. With the introduction ofSwift, incredibly long Objective-CAPIs now have the chance to be updated to shorter, more readable methods. However, reducing the number of characters to type does notnecessarily in

Swift2の発表で活気付く中、Objective-Cもひっそり進化しています。 iOSアプリは何個か作ってきたけど、**急にSwiftに移行するのは……**という方! Xcode7で使えるようになったモダンな文法をちょっとだけ採用してみませんか? きっと手元のコードが美しく、保守しやすくなりますよ! 新しく使えるようになった文法 新しく使えるようになった……と、いっても2つだけです(´・ω・`) Generics Nullability Annotation Generics (1) ArrayやDictionaryに追加するオブジェクトの制限 特定クラスのインスタンスだけをArrayやDictionaryに追加したいケースで有益です。 今までのObjective-Cでは、こんなコードを書いてインスタンスの型チェックを行う必要がありました。

About the content This content has been published here with the express permission of the author. Carthage is a new dependency manager for Objective-C andSwift projects, intended to be thesimplest way to add frameworks to aCocoa application. Carthage works by delegating tasks to Xcode and Git, minimizing new concepts as much as possible, so you can continue to use the tools you’re already famil
第61回Cocoa勉強会関西で“Swift 1.2 The long-awaited language updates”と題して発表した、Swift 1.2の主だった(おもしろい)変更点の紹介です。 if letSwift 1.2で最も改善されたのはif文です。if letでOptionalをunwrapできる機能が大きく向上し、複数のOptionalを同時にunwrapできるほか、unwrapされた値について条件を加えることができるようになりました。 例えばcondition: Boolが真でふたつのOptional<Int>がnilではなく、大小関係にも条件がある、という条件を表してみます。Swift 1.1 let condition = true let aNumber: Int? = 3 let anotherNumber: Int? = 7 if condition {

海外事業向けのiOSアプリケーション開発を担当している西山(@yuseinishiyama)です。クックパッドは現在、海外複数カ国に向けてサービスを展開しています。 主にObjective-Cで記述されたアプリケーションを全面的にSwiftに書き換える機会があったので、その際に得た知見や書き換えるに至った動機を共有します。 書き換えに至るまでの経緯 この項では、書き換えに至るまでの経緯について説明します。 Objective-C期 アプリケーションの開発は2014年7月頃にスタートしました。Swiftの発表直後でしたが、時期尚早ということもあり、Objective-Cで実装することになりました。 Objective-C、Swift混在期 2014年10月頃から、Swiftへの段階的な移行のために、新規のコードをSwiftで書くようになりました。Swiftの記述力や、ヘッダと実装を行き来しな


Apple Watchの通知のことがあんまりわかってなかったんだけど、林さんのレビューを見ていて、iPhoneの通知は漏れなくApple Watchにも届くらしい。(正確に言うとApple Watchで受けるべき文脈において、というのが正解。iPhone開いてる時にはiPhoneに通知が来る) つまりアプリがApple Watchに対応してなくても、通知が来るということらしいので、New Relicによるサーバアラートの通知が、Apple Watchに届くってことだ。 あ、これで、ついついiPhoneを置いたまま見逃してしまうというのを避けられる! そうでなくてもNewRelicはApple Watchに対応するだろうから、glanceとかでさくっとサーバステータスが見えるとありがたいな。 CTOだったらそれぐらい自社サービスに寄り添ってもバチは当たらんだろう。 あとGoogle Anal

先日iOSオールスターズ勉強会でSwiftでライブラリを書く際に良いと思ってることについて話しました。そこで好評だったり同意してもらえた何点かについてあらためてまとめます。 オーバーロードを積極的に活用しようSwiftではメソッドのオーバーロード(引数の数、型、および戻り値の型が異なる同じ名前のメソッドが定義できる)が言語仕様としてサポートされています。これは上手に使うと利用する側にとってとても書きやすくなるので積極的に使っていきましょう。 例えば下記のような例では、Objective-Cではデータ型によって複数のメソッドを使い分ける必要がありました。 (引数の型がNSStringかNSDataかでメソッドの名前が異なる) - (BOOL)setString:(NSString *)string forKey:(NSString *)key; - (BOOL)setData:(NSDat
最近、私たちはSwiftベースの新しいアプリ を発表しました。Appleによって派手に取り上げられ、非常に多くのユーザを獲得しています。この記事では、私たちの経験を共有し、この新しいプログラミング言語について一般的な考えを述べ、私たちのアプリをより強固なものにしてくれる、Swiftの長所をいくつか紹介したいと思います。 これはSwiftのチュートリアルではありません。この記事は、まだSwiftの経験が浅く、実際はどのように使われているのか興味を持っている開発者のために書かれています。技術的なコンセプトにも言及します。また、必要に応じて既存のチュートリアルやドキュメントへのリンクも含まれます。 まず、この新しいアプリの機能や、主な目的について簡単に説明します。 新しいアプリ 当社の主力アプリDuolingo のことは既にご存じかもしれませんね。6,000万人以上のユーザ(2014年12月

Swift is now open source. For the latest news, visit theSwift open sourceblog TodaySwift 1.2 was released as part of Xcode 6.3 beta. This beta release includes a significantly enhancedSwift compiler, as well as new features in theSwift languageitself. For the complete list of changes, read the releasenotes. Thisblog post will focus on the highlights. Compiler improvementsTheSwift 1.2 comp

Constraints(制約)について掘り下げて行こうと思う。 ついては、使用頻度が多い、storyboardの下にある機能について説明していく。 「Align」、「Pin」、「Resolve Auto Layout issues」、「Resizing Behavior」の4つである。 左から、「Align」、「Pin」、「Resolve Auto Layout issues」、「Resizing Behavior」を示すアイコンである。 まずは「Align」。 親のViewに対してのセンタリング、複数のView同士の中央揃えや右揃えなどを制約として設定する。 クリックすると、以下のウィンドウが開く。 アイコンを見れば、それぞれどんな制約が適用されるか想像がつく。 上から、 複数のViewを左揃え、右揃え、上揃え、下揃えする制約が第一グループとしてまとめられている。 次に、複数のVie

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Xcode6からSizeClassesという概念が加わったのと、AutoLayoutも微妙に変更されていて謎のMarginが出るようなので調査した結果をまとめました。 SizeClassesとは Xcode6からAutoLayoutに加え、SizeClassesという概念が加わりました。 Xcode5では、Universalアプリを作るには、iPhone向けとiPad向けのStoryboardをそれぞれ用意していましたが、Xcode6/iOS8からは、一つのStoryboard(あるいはXib)で対応させてしまおう、というのがSizeC

来年初めにリリースされるというApple WatchのSDKがプレリリースされた。Appleはこれを WatchKit と呼ぶ。Apple Watchで動作するWatchKitアプリは、いったいどのようなアーキテクチャにより駆動されるのか。この興味深い仕組みについて考察する。 WatchKit -Apple Developer ふたつの予想Appleがウェアラブルデバイスを開発しているという噂が流れていた頃、そのアプリケーションのアーキテクチャについて異なる二つの予想をしていた。 一つは、ウェアラブル端末本体で動作する通常のアプリを作るというパターン。これはAndroid Wearが採用しており、Androidのアプリを作るのとほとんど同じようにウェアラブル端末で動作するアプリを作ることができる。これが採用されると、UIKitの多くのコンポーネントが利用できることになり、柔軟なアプリを
今こそ frame 思考脱却の時 Xcode 4 / iOS 6 から存在していた Auto Layout でしたが、 当時は InterfaceBuilder の Auto Layout 対応も中々ひどく、使うのが辛かった記憶があります。 そんななか僕は順調に layoutSubviews に傾倒していったわけですが、iPhone 6/iPhone 6 plus がついに登場し、Size Class という新しい概念も投入され 現状では間違いなく2年前とは比べ物にならないレベルで Universal アプリは作りやすくなりました。(ただし iOS 8 専用アプリのみ) ある程度のデザインパターンを懐に用意していた方が時間が省けます。 ここでは Auto Layout を用いたレイアウトに関するユースケース毎に簡潔に書いていますので、 「それ知ってるわ」みたいなのがあったら適宜読み飛ば
2014.08.18 スキル 業界で名の知れたプログラマーは、今年の上半期に何を学んでいたのか? 「同業者が役に立ったものは、自分にも役に立つはず」という仮説を基に、彼らの学びlogから、2014年上半期の流れを振り返り、今後の動向を予想してみよう! アルファブロガー 小飼 弾氏(@dankogai) 1969年生まれ。カリフォルニア大学バークレー校を経てオン・ザ・エッヂ(のちのライブドア)へ入社し、その後、取締役就任。96年にディーエイエヌを設立し、現職に。読書家としても知られ、ブログ「404Blog Not Found」での書評は毎回、大きな話題を集めることでも有名。ニコニコ生放送にて、「プログラマー脳で今時のニュースを一刀両断する」放送を行っている。共著書、著書、多数 日本時間の2014年6月3日、WWDCの席上でAppleが新言語『Swift』を発表した。そしてその翌日の6月4日

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く