UIView の背景を透明に・・・

UIView 内に画像を表示しアニメーションさせる。異動先で、UILabel と重なり合うのだが、UIView の背景が白のため、重なった時になんかヘン。UILabel の文字が欠けてしまったように見える。

そんな時は、UIView の背景を透明にすればよいのだ、と、次のようにやってみるとダメ。

someView.alpha = 0.0f;

試行錯誤の結果、次のようにするとうまくいった。

    someViewiew.opaque = NO;
    someView.backgroundColor = [UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.0f];
 
UIView の opaque property をいじって、その後、backgroundColor を指定するのだと。ちなみに、opaque の日本語は不透明。
 

macOS Safari: 訪問済みサイトの色が変わらない

2-3 日前からどうにも Safari の使い勝手が悪く、Google で検索して一覧が表示されますが、訪問済みサイトの色が変わらないという現象に遭遇。これ、地味に不便で、あー、ここ昨日見たサイトだーというようなことが頻発。これは困った。

困った時は検索だ、ということで Safari 訪問済み 色変わらない などで検索してようやく解決。

まず試したのが、履歴を消去した後 Safari を再起動。改善が見られません。次に、環境設定、詳細でスタイルシートを指定してやる方法。指定するのは次のような内容:

a:link { color: red; }
a:visited { color: green; }

テキトーにファイルを作って、指定したら治った。

もともと何が指定してあったのか気になるところですが、治ったのでよしとしよう。

 

・・・と思ったら治っていない。治ったように見えて、いつの間にか訪問先の色が変化しないようになる。Safari を再起動すると治る。でもしばらく使うと再発。うーん、これは Apple のアップデートに期待ですかね・・・あー不便。

ヴェポライザーでシャグ :Drum

いつものタバコ屋にアムステルダマーを買いに行ったら売切れ・・・似たのでジャンゴを勧められたんだけど、あれはちょっと違う。具体的には香ばしい香りが足りない。そう言えば以前から気になっていた Drum を買ってみた。Drum は世界で一番有名なシャグ らしく、シャグ を扱っている所ならどこにでも置いてあるらしい(でも、神保町の店にはなかったような・・・)。

以前から気になっていたのに買っていなかった理由は、値段が高いことと、50g なので合わなかった時に消費できず困っちゃったら嫌だなと思ってたから。実は、グラム単価で考えると、高い訳ではない。味について調べてみると、黒タバコ系でハーフスワレよりもマイルドらしく、それなら合わなかったとしても、ま、我慢できる味かなと思い買うことに。

試した感想ですが、巻いて火をつけて吸う分には美味くて、ハーフスワれほど黒タバコ感がなく、はっきりと味がわかるのでよかった。シャグ は湿っているので、巻いた後乾燥させると味が一層出てくるのでいいかなと。ヴェポライザー での味は好みではなく、黒タバコ系はヴェポに合わないと思う。

しばらく続けて、アムダマと代わる代わる買ってもいいかなと思った。

 

PayPay Go Green: 巻紙

YouTube で PayPay の巻紙を使っている人がいて、珍しいので使ってみたくなり、丁度アムダマがなくなりそうなのでいつものタバコ屋に買いに行ったついでに買ってみた。

PayPay と書いてパイパイと読むようで、なんかちょっと・・・ま、それは置いておくとして、見た目は薄いグリーン、無漂白、極薄と、とても良いものに思える。吸った感じは、どうだろう。少し辛い感じかなぁ。悪くないけど慣れないとちょっと独特。

原料は、アルファルファという、マメ科の植物だそうで、検索してみたら、もやし?に似てなくもないような。

 

ヴェポライザーでシャグ :Amber leaf blonde

C Vapor 3 を使ってて、シャグ を色々試した結果、アンバーリーフブロンドに落ち着く。買いやすい値段と、添加物か多いんでしょうね、吸った気がする感が良い。

アンバーリーフのもう一つの楽しみは、巻紙に書かれた Tips。結構面白くて。今日のはこんなのだった;

In Tokyo, a bicycle is faster than a car for most trips of less than 50 minutes.

なるほど、それだけ車も信号も多いということなんですかね。

で、Tips は読むけど、この紙使わないの。

UITableView の右端と左端

UITableView で、template で普通に作成していると、右端は+(add)、左端は Edit になっている。add はまだいいとして、Edit は曲者。このボタンを record を削除できのだけど、削除は swipe で実装しているので Edit ボタンはなくても構わない。ってか、意味的に Edit なのに削除?みたいな感じでない方がいいかも。

このボタンを削除するにはどうするか。viewDidLoad method に、Edit について言及があり、これをコメントにしたら表示されなくなった。よかった、よかった。

 

UITableView で custom cell

またはまった。UITableView で custom cell をしようとした話。

detail に tableView を配置して、内容は custom cell ってのはうまくいっているんだけど、テンプレートになる Master の cell を custom cell にするのがうまくいかなくて。こっちの方がネットに書いてあること多いんで、楽勝だろうと思ったらはまった。

UITableViewCell の custom class を作って、XIB ファイルも作ると。そこまではオッケー。次に、xib ファイルの identifier を Cell と命名。storyboard で、prototype cell があるので、そこに作成した class を指定し、ここでも identifier を Cell と命名。名前がかぶるのでおかしくならないのか心配だけど、うまくいっているのでよしとしよう。

MasterViewController の viewDidLoad で、次のように cell を定義。

    UINib *nib = [UINib nibWithNibName:@"STMasterCustomCell" bundle:nil];

    [self.tableView registerNib:nib forCellReuseIdentifier:@"Cell"];

次に、必須の method で、cell をカスタムすることを記述。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

    STMasterCustomCell* cell = (STMasterCustomCell*)[tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];

 

cell の内容は、次の method で定義。

- (void)configureCell:(STMasterCustomCell *)cell withEvent:(Event *)event

 

ここまで出来て、ほゥほぅ、うまくいった、うはっと思ったら、セルをタップしても detail に遷移しない。う、なんでなんで?やり方わからない。調べたら、セルをタップしたときに呼ばれる method があったので、segue を呼ぶようにわざわざ指定してやるとうまくいった。

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

    [self performSegueWithIdentifier:@"showDetail" sender:indexPath];

}

 

ってか、なんで今までは指定する必要がなかったのに、custom cell にしたら指定しないとならなくなるわけ?あとね、わかりにくいのが、sender として指定する引数なんだけど、指定しようがないので、テキトーに indexPath としたらうまくいったのね。

custom cell を使う方法って色々書いてるところがあるけど、セルをタップしたら detail に遷移しなくなったという事例はあまり見かけないので、きっとやり方を間違えているんだろうと思うけれども、正しい方法がわからないのと、うまくいっているのでよしとしよう。