Swiftは型に甘いけど、型に厳しい・・・という点がObjective-C経験者に慣れないところ。
よく使われる、CGRectのorigin.xなどはCGFloatなので、
このままFloatやDouble型の変数と計算するときに、エラーとなります。
↓これはエラー
let myOriginX = self.view.frame.origin.x
let myDouble = 1.5
let total = myOriginX + myDouble
↓Doubleでキャストしてから計算する
let myOriginX = self.view.frame.origin.x
let myDouble = 1.5
let total = Double(myOriginX) + myDouble
でも、よく使うCGFloatを気軽に使いたいので、
キャスト用のExtensionを作ったほうがよいかも。
チームで開発するなら、そうすべきでしょうね。
UIViewContentModeScaleAspectFitはSwiftでどう書くの?
■Objective-C
imageView.contentMode = UIViewContentModeScaleAspectFill;
■Swift
imageView.contentMode = .ScaleAspectFill
imageView.contentMode = UIViewContentMode.ScaleAspectFill
Objective-Cで書いたプログラムをSwiftで焼き直し中ですが、
なかなか書き方がガラッと変わってて、
Objective-C→Javaの時と同じくらいのコストかかりそうだわ。。。
■Objective-C
imageView.contentMode = UIViewContentModeScaleAspectFill;
■Swift
imageView.contentMode = .ScaleAspectFill
imageView.contentMode = UIViewContentMode.ScaleAspectFill
Objective-Cで書いたプログラムをSwiftで焼き直し中ですが、
なかなか書き方がガラッと変わってて、
Objective-C→Javaの時と同じくらいのコストかかりそうだわ。。。
Androidアプリ内から、メーラーでHTMLメールを送るには、以下のようなプログラムで実行できます。
----------------------------
String strMemo = "<HTML><BODY><a href="http://URLを指定">testだよ</a></BODY></HTML>";
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, DefineStrings.GroupMailSubject);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(strMemo));
startActivity(Intent.createChooser(emailIntent, "Email:"));
----------------------------
ただし、注意点があります。
・ドコモの場合、Spモードメールが選択できません。。。
・URLスキーム(originalurl://testのような)はハイパーリンクがつきますが、クリックしても反応しません。
gmailを頻繁に使うユーザーが多いアプリならいいですが、
URLスキームも反応しないし、Spモードメール立ち上がらないし…ね。。。
※Spモードメールも選択できるよ!というご意見あれば、ぜひ教えてくださいm(__)m
----------------------------
String strMemo = "<HTML><BODY><a href="http://URLを指定">testだよ</a></BODY></HTML>";
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, DefineStrings.GroupMailSubject);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(strMemo));
startActivity(Intent.createChooser(emailIntent, "Email:"));
----------------------------
ただし、注意点があります。
・ドコモの場合、Spモードメールが選択できません。。。
・URLスキーム(originalurl://testのような)はハイパーリンクがつきますが、クリックしても反応しません。
gmailを頻繁に使うユーザーが多いアプリならいいですが、
URLスキームも反応しないし、Spモードメール立ち上がらないし…ね。。。
※Spモードメールも選択できるよ!というご意見あれば、ぜひ教えてくださいm(__)m
