Archives
now browsing by author
iOS開発:UIAlertControllerにチェックボックスを付ける[Objective-C]
昔のプログラムを久々に開くと、UIAlertで警告がたくさん出ます。
どうやら、「非推奨部品になったから変更して!」という事のよう。
UIAlertViewからUIAlertControllerという部品に変更になります。
myTinyTodoの設置メモ(ドメインキング)
myTinyTodoというツールを個人のToDo管理のために設置してみました。
SQL Liteに対応していますので、RDBが無くても使えます。
基本は一式をダウンロードしてきて、サーバにコピーすれば利用できます。
サーバへFTPでコピーしたあとにやったことは
dbディレクトリのパーミッションを777、
dbディレクトリ配下のファイルを766に変更しました。
そして、「ドメイン/mytinytodo/setup.php」にアクセスすれば
セットアップにアクセス出来き、ボタン一発で環境構築できました。
そのままでは丸見え環境になってしまいますので
基本認証のためのファイルを配置してディレクトリアクセス時にID、パスワードを入れるようにしました。
シンプルなToDoで使い易いです。
しばらく評価してみようと思います。
http://www.mytinytodo.net/
iOS開発:UIAlertControllerにチェックボックスを付ける[Objective-C]
昔のプログラムを久々に開くと、UIAlertで警告がたくさん出ます。
どうやら、「非推奨部品になったから変更して!」という事のよう。
UIAlertViewからUIAlertControllerという部品に変更になります。
view部品からコントローラーになるので、それなりに改造が必要ですが
単純なリプレースは巷に情報が溢れていますので割愛します。
今回の記事はUIAlertControllerにチェックボックスを付けるカスタマイズをすると嬉しいな、
という状況があり実現に試行錯誤した備忘録です。
準備
アラート表示を必要とするViewControllerのヘッダファイルに以下を定義
(プロパティで持つ必要ない場合はコード中で宣言)
1 2 3 |
@property (nonatomic) UIAlertController *alertController; //アラートコントローラー本体 @property (nonatomic) UIButton *btn1; //ボタン @property (nonatomic) UILabel *chkLbl; //ラベル |
これらの部品を使ってこんなのを作ってみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
self.alertController = [UIAlertController alertControllerWithTitle:@"確認" message:@"このスケジュールを削除しますか?" preferredStyle:UIAlertControllerStyleAlert]; // addActionした順に左から右にボタンが配置されます [self.alertController addAction:[UIAlertAction actionWithTitle:@"削除する" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { // otherボタンが押された時の処理 [self ListYesPushed]; }]]; // addActionした順に左から右にボタンが配置されます [self.alertController addAction:[UIAlertAction actionWithTitle:@"キャンセル" style:UIAlertActionStyleDefault handler:nil]]; //アラートを表示する [self.view.window.rootViewController presentViewController:self.alertController animated:YES completion:^{ NSLog(@"displayed"); self.btn1 = [[UIButton alloc] init]; //擬似チェックボックス部品 ボタン部分 self.chkLbl = [[UILabel alloc] init]; //擬似チェックボックス部品 チェック状態表示ラベル //チェックボックス表示位置指定 CGRect rect = CGRectMake(80, 64.0, 20, 20); //付帯メッセージラベル表示位置指定 CGRect rect_lbl = CGRectMake(100, 66.0, self.alertController.view.frame.size.width - 2 * 2.0 , 15.0); //チェックボックス部品に表示位置を定義 self.btn1.frame = rect; self.chkLbl.frame = rect; //チェックボックス動作をさせるためのボタンにアクションを定義 [self.btn1 addTarget:self action:@selector(multiDeleteFlgChg:) forControlEvents:UIControlEventTouchDown]; //付帯メッセージラベルを生成 UILabel *lb = [[UILabel alloc] initWithFrame:rect_lbl]; lb.text = @"同一期間分を含む"; //チェックボックスのラベル部品 アラートのデフォルトメッセージにサイズを合わせてみる [lb setFont:[UIFont systemFontOfSize:12.0]] ; [self.chkLbl setFont:[UIFont systemFontOfSize:12.0]] ; //チェック状態を表すテキストコードを代入 self.chkLbl.text = @"\u2B1C";//OFF //アラートウィンドウに色付ける場合はこうしたら良いみたい //self.alertController.view.backgroundColor=[UIColor yellowColor]; //縦の長さをちょこっと伸ばす(最後の+30) [self.alertController.view addConstraint:[NSLayoutConstraint constraintWithItem:self.alertController.view attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeHeight multiplier:1.0 constant:CGRectGetHeight(self.alertController.view.frame) + 30]]; //チェックボックス部品、ラベル、ボタンをコントローラーに貼り付け [self.alertController.view addSubview:lb]; [self.alertController.view addSubview:self.chkLbl]; [self.alertController.view addSubview:self.btn1]; }]; |
最後の貼り付けは順序が大切です。
チェックボックスはチェックボックス風のテキストコードを貼り付けて実現しています。
addsubviewする順序はラベルを先に宣言し、ボタンを宣言します。
こうする事で、同じサイズのラベルとボタンが重なって定義され、
また透明のボタンの下にチェックボックス風の表示内容が透けて見える事になります。
蛇足的ですが、ボタンのアクションに定義した multiDeleteFlgChg メソッドを定義します。
1 2 3 4 5 6 7 8 9 10 11 |
//ダイアログの中のチェックボックス(ボタン)制御 -(void)multiDeleteFlgChg:(UIButton*)button{ if([self.chkLbl.text isEqualToString:@"\u2705"]){ //ONのとき self.chkLbl.text = @"\u2B1C";//OFF }else{ self.chkLbl.text = @"\u2705";//ON } } |
発生したイベントの中で、現在のラベルを確認して反転しているだけです。
作ったのは以上です。
実際に、アラートのボタン(本例では「削除する」ボタン)のイベントの中で、
ボタン反転処理と同じように、ラベルの内容を判断してあげればチェック状態を意識した処理が作れると思います。
課題は・・・・コントローラーならデザイン触れるんじゃないの?と思い縦幅だけ触ってみましたが
よく見るとボタンの罫線が付いてきて居ませんので、完成させるにはもう少し調査しなくてはいけませんね。
IoTの勉強
あけましておめでとうございます。
本年も、モリモリ・・・というほど忙しくはできませんが、
ぼちぼちとお困りの方々を支援していければと思います。
最近更新が滞っておりました。
公私忙しい中、fujisawawebとしましては下記活動を行っております。
・ホームページ作製支援
・帳票作成、データ管理アプリ開発
・セキュリティ関連製品の製作、協業パートナーとの販売戦略等協議
・IoT関連情報の収集
個人的にも、今年は各種勉強会や展示会などに積極的に参加して情報を集める一年にしたいな、と考えています。
どうぞよろしくお願い致します。
セキュリティソフト(気がつけば9月)
8月は帰省やレジャー、そもそも暑くて動く気が無くなってたりと色々大変(?)な時期でもあり、PCの整理(データクリーン&廃棄手配)のご依頼相談や管理しているHPの更新程度で過ごしておりました。
さて9月。小規模の会社様で
「ウィルスセキュリティソフトの更新が来たけど、更新料が凄い。こんなもんなの?」
との問い合わせ(知人経由)。
状況は下記です。
・事務方や実務で20台程度のPC利用中
・ファイル共有のみの利用でwindowsサーバが導入されている
・ITの担当が専任、兼任とも不在(担当できる人が居ない)
・前回担当した会社の斡旋で某社製の統合管理セキュリティソフトを導入している
まずは実地検証前に回答ご担当窓口を立てて貰い、なるべく状況を詳しくメールヒアリングします。
・前回担当した会社とのやり取りは誰がしたか?
→はっきりしない(悪い言い方をすれば「言い値丸投げ」)
・統合ソフトが入っているが管理運用しているか?
→クライアントの状況を逐次サーバにある統合ソフトで管理・監視ができる仕組があるが誰も管理していない。
・メールは使っているか?
→事務方に外部用メールアドレスはあるが実務利用者に個人アドレスは無い
・ウィルスパターンの更新タイミングやネット利用ポリシーは有るか?
→ない。分からない。必要無ければネットに繋いでいない実務担当も居る。
では、ということで選定のソフト2種(フリーと廉価有償)の紹介とメリットデメリット、サーバの管理ソフトのアンインストール作業、PC1台の旧ソフトのアンインストール&新ソフトインストール作業とその他PC向けのインストール手順作成を見積しました。何を選んだら良いか?がキモでも有るので、概算のご提案時にはソフト名までは書きません。
元々セキュリティにそれほどご興味や必要性を感じていないお客様ですから、こちらがゴリ推ししたところで中々響くものではありませんので気長に待つ事にします。
ソフトやPCについて、調べるのが面倒だからこそ専門家に頼って任せる、これはまず失敗しない第一歩。
ただ、コスト面やサービス面に不安を感じたら自社側に立って審査してくれるカウンター役を立てる事も大事ですね。
簡易グループウェアの改良。
本サイトで運営していいる簡易グループウェアについて、自動ログインができなくて不便でしたので自動ログイン機能をつけてみました。
明示的にログオフしない限り、10日間は(同一端末から)ログインが可能です。
さて、紹介ページも更新しておきますか・・・・・と思ったら、グループウェアについては未だ何も告知とか出していませんでした。
「そういえば問い合わせも無いよなぁ・・・」なんて思っていたのですが、知人周りに使ってもらっているだけで広告していなければ当然ですね。
内部向けの作業はHPの更新やアプリ開発など、なんだかんだと後回しになりがちですが、今年の夏休みの宿題として頑張ろうと思います。
業務を支援するデータ変換ツールの開発
とあるご紹介で、社内のシステムを変えた際に、業務に一部支障があるとのことでご相談を受けました。
前まで使っていたシステムソフトにあった「便利な機能」がシステムを変えたことで実現できなくなった、と。
これまで、システムから業務に使う帳票やデータを出力して使えていましたが、新システムではCSVファイルのダウンロード機能しかない。
ダウンロードしたファイルをエクセルで開き、編集したり集計したりすれば欲しい情報(印刷用の資料作成)はできるのですが、これまで以上に事務作業や編集作業が掛かり、また毎度同じような作業が必要になっていました。
担当さんが変わると、その加工手順やスキルによってはエクセル編集の手ほどきからしなくてはなりません。
日々の業務における時間損失や今まで以上の負担を考え、便利なツールが欲しい、というご相談でした。
これこそ、ITが得意とするところです。
構成や作り方に幾つかパターンがあり、それぞれメリット・デメリットもあります。
まずはパターンとそれぞれのデメリットを表記した概算価格表を提案としてご提示しました。
(1)エクセルのマクロプログラムとしてご提供。
グループでの利用には向かない。
利用端末に必ずエクセルが必要。
あまり大きなデータは性能的にも扱いにくい。
エクセルバージョンなどにも左右されるため、長期に渡り使える保証はない。
制約も多いが安価に構築できる。
(2)専用アプリケーション(exe)としてご提供。
グループでの利用には向かない。(運用ルール次第)
大きなデータも扱えるし、仕様変更や追加にも対応しやすい。
同一アプリを長期利用したい場合に向いている。
エクセルに比べて割高。
(3)WEB型システムのご提供。
WEBブラウザで操作し、複数者利用を前提に作るためグループでの利用が可能。
データの取り扱い量の制約はない。
同一アプリを長期利用したい場合に向いている。
設計も複雑になり、一番割高。
結果として、今回はグループでの利用は必要ないだろうとのことで真ん中プランでご依頼でした。
当初お聞きしていたのは印刷帳票3種とエクセルファイル2ファイルの生成でしたが、
最終的に帳票を1つ減らしましたので最終のお見積ののち、作業を頂きました。
ITは慣れれば慣れるほど「当たり前」になりますが、環境の変化や不具合で急に「当たり前のことができなくなった」時に、いかに便利だったかを痛感するという声をよくお聞きします。
今現在、データ解析や整理が本業ではないのに、PCに噛り付きルーチンワーク的な編集作業に時間を費やしている方がいれば、”これはITで楽にならないのだろうか?”と考えてみてください。
“毎日この作業から解放されると、さらに違うことができるのになぁ”そう思える作業はもしかしたらITにやってもらう事ができるかもしれませんよ。
知らない事はいい事でしょうか?
最近関わったお仕事で大変困ったお話がありました。(先のネットワーク案件とは別のものです)
お客様がシステムに一切興味がなく、システムの入ったPCを10年以上使用していますが、
未だ「OS」、「システムのアプリケーション」、「バックアップ」といったキーワードに
理解を示さない(興味がないので覚えない)お客様でした。
機器刷新を依頼されて導入支援をして3年、ある日
「システムをセットアップしたPCの調子が悪い。システムが壊れた。壊れるなんておかしい。すぐ見てくれ。」
と突然の連絡と対応依頼。
すぐに、、、と言っても、前準備もありますし、その様なお客様ですから、触り方が悪かっただけで壊れていない、という事も考えられます。
お電話で起動(スイッチ押すところ)から指導・誘導して順次確認をするも、「画面ついた」「なんか英語がでてる」「暗くなった」といった会話で
知りたいPCの状況を把握するのに連想ゲーム状態です。
色々見てもらいつつ、そのレポートを都度ヒアリングした結果、やはりハードウェアが壊れていますね、
早いうちに入れ替えのPCを作った方が良いですよ、との結論に至りました。
さて、そこからが大変です。
「毎日使ってるとはいえ、3年で壊れるのか?」から始まり、
「PC(メーカー製)のダメなところだけサッと取り替えたら動くんだろ?」と、お金の掛からない具合を気にしているのもありますが、
それ以前に机や棚を買った感覚でPCを語るお客様。
中身はOSが乗っかり、DBのソフトが乗っかり、独自作成したシステムアプリが乗ってます。
「我々が責任と面倒を見れるのはシステムアプリの部分ですし、ハードディスクはそれらのアプリケーションを保存している記憶装置ですので
ハードディスクが故障してしまうとOSの起動すらままなりません。今回はその初期症状なのです。」
「ならそのハードディスクってのを買ってきて入れ替えれば動くんだろ?やってくれよ」
「ハードディスクの交換はあくまで機器の修理の話です。
新しいハードディスクにはOS、ソフトウェアのセットアップが必要ですし、システムの導入に至ってはその試験なども必要です。(お金かかるんですよ)」
「そこがわからん!!!!なんでダメなところ取り替えるだけで何十万も掛かるんだよ!!困ってるんだよ!!!」
・・・・担当からは、(正直、使ってるものを理解する気もない客なんて捨てとけよ・・・・)という声も聞こえてきます。
エクセルで伝票作ったり、簡易でもシステムを導入すれば、省力化や時間節約など使うほどに便利なITですが、
知らないことをヨシとしているユーザーさんは”時に足元を見られる”リスクも踏まえて一度見直してみるもの有りかと思います。
税務で損したり思わぬ違法行為などにならない様に、専門外な手続きは多くの会社様が税理士さんや弁護士、労務士などの専門家を身近に置いていると思います。
今や使い出すと離れられない便利なITツール。
IT専任の担当を作るのが難しい場合には、近くに「なんでも相談できる専門家」を作っておくのが良いと思います。
ネットワーク不調に関する調査と整理のご依頼
ご紹介頂いたある会社様の社内ネットワーク不調に関する調査対応を行っておりました。
・業社に言われるがままIP電話を導入したらノイズがひどく、時折切れる。
・解消させるには更に高価な機器を3、4台導入する必要があると提案されているが、
そもそも会社サイズに見合っているのか、提案自体が適正かどうかも含め不安がある
書類作成業務でPCを使ったり調べ物にネットワークを使うため環境はありますが、IT担当もおらず外部からの提案の言いなり状態にあるようです。
何度かの提案を経て、高額な”IT設備投資”にいよいよ疑問が出てきて、一度第3者視点で点検・整理してほしいとのお話でした。
本来はネットを通じたリモート業務(HP作成やシステム開発など)を中心としておりますが、「隙間時間でOK」、「時間掛かることも許容」との話でしたのでご依頼を受けました。
同業界他者のお仕事を批判は出来ませんが、お客様が現状受けている提案に不満を持っている以上、フィットギャップが出来ていない状況であることはわかります。
まずは現状環境の整理・調査を行い、出ている提案と照らして、”過剰”とお客様が感じている部分のメリットや効果をまとめ、それらが必要ない(リスクにならない)のであれば「製品レベルや構成を変えることでコストダウンや手間を落とすことは可能」とのレポートを提出しました。
その後、実務的にも機器見直しや設定のご相談を継続して頂き、対応・相談役として利用頂いております。
あまりマメに通えないので、「即やって、即解決して」というお話は難しいのですが、小さい規模のお客様で「業務にITは欠かせないけど、専門家では無いし、今後もITを詳しくなろうとは思っていない。ただ、困った時にどうしよう?」というお客様は沢山いらっしゃるのだろうな、と思います。
・ネットがなんか遅い
・PCの調子がイマイチ
・色々見直したいんだけど、どこに相談すれば良いかわからない
上記の様な漠然としたお悩みをお抱えの方は、一度お知り合いを通じて「ITのプロ」に相談されることをお勧め致します。
また、提案・お見積にご不安がある場合にも、御社立場での資料審査を請けて頂く(セカンドオピニオンですね)のも有用かと思います。