Author Archives

raizan2ame

便利にMac:iPhoneに充電できない

一週間くらい前からiPhoneに充電できない問題が発生していました。時々、このアクセサリは使えません、とメッセージが出ました。

きょうはまじめに原因追求をしました。

症状としては、グリーンのアイコンがついたり消えたりします。たまたま、きょうはiMacもフリーズしてしまいました。おかしな話だとケーブルを入れ替えたらOKになりました。原因は、iPhoneへの差込口の金色の部分が1箇所剥離していました。

結局、iPhoneはどうなったかというと、バックアップファイルから全部restoreして、再設定することになりました。

iTunesや写真はまだNASに入れていますが、ほかは全部iCloudに置いています。手元にデータを持っていないと、復旧が楽です。iCloud、Dropbox、ブログを使い分ければ、手元に大容量HDDは不要です。データのバックアップやセキュリティ対策もクラウドを使った方が安心できます。ただし、抜かれるリスクがあるので重要データは注意が必要です。少なくても暗号化とパスワードをかけて置いた方がいいです。DSC_0024

徒然:ブログ 復旧

wordpress.comプレミアムを使ってようやく今までのレベルまで復旧できました。

こうした入れ替え作業は、持っている手を変えるだけの話なので非生産的に思えてなりません。しかし、不可避です。

きょうは、ブログの等幅フォントの問題を決着するのに集中しました。ひとつ残っている検索機能の実装をせず、機械的な作業に終始しました。

ここ三日間、15年ぶりに花粉症で死にそうになりました。息ができず、最後には、やたらと咳が出て、お腹が裂けそうでした。きょうは雨の後で治りました。集中力云々よりか、何も手につきません。

目、鼻、喉の部品交換をお願いしたい。

花屋さんでラナンキュラスが咲いていました。春ですね。

DSC_0043

便利にMac:wordpressフォント

wordpress.comでのフォント変更の仕方のメモです。

Swiftのソースコードをアップすることを想定しています。手順的には、HTMLタブをクリックし、フォントファミリとカラー、サイズを指定したのあとにSwiftコードを貼り付ければ、worpress.comがsample: htmlに示す内容に変換してくれます。

🍊Font size

xx-small
x-small
small
medium
large
x-large
xx-large

🍊html

Screenshot 2018-03-09 16.20.35

🍊Example by the above html.

wordpress.comブログにSwiftソースコードを取り込む。

指定の仕方: htmlを参照のこと

Z.maybeLastRow,                                         //01 現在選択されいる表の行位置
Z.sLanguage,                                            //02 言語
Z.xEngine.currentImage!,                                //03 検索エンジン

Z.sLink,                                                //04 URLリンク有効・無効
Z.sJava,                                                //05 Java
Z.sAdsBlock,                                            //06 Adblock有効・無効

便利にMac:wordpress.comの問題

wordpress.comを無償版からプレミアムにアップグレードしました。いろいろ問題があることがわかりました。

問題は色々です。不満も色々です。

問題点

  • wordpress.comとサーバー版のWordpressとは、全く違うものでかつ運営母体が異なるようです。
  • wordpress.comへの問い合わせは英語のみです。
  • VPNのHotspotShieldも英語問い合わせですが、レスポンスが良く、かつ必ずすぐに解決案が提示されます。この点、wordpress.comへの問い合わせは梨の礫です。あり得ません。
  • ソースコードをアップするときに等幅フォントを使いたいというのが基本要求です。無償版wordpress.comではhtmlを<tt> </tt>で囲むことで実現できそうですが、”でエリアを反転できないなど問題がありました。

解決策

  • 等幅フォントをサポートしているテーマを見つける必要があります。フォント属性がテーマに依存しています。
  • macOSの場合、SafariもFirefoxとして等幅フォントを描画できます。しかし、iPadやiPhoneの場合、必ずしもそうでなくブラウザへの依存性があるので、ブラウザが大丈夫かも考える必要があります。
  • 現在、三段組のBraodsheetを使っています。よくできていて満足しています。梅

Swift4:MesaClip開発状況

積み残しの機能実装とバグフィックスが進みました。

昨日からきょうにかけて、検索機能を除き積み残しの機能実装がすべて終了しました。きょうは一日中雨が降りました。体調不良でしたが、開発進捗はとても順調でした。

  • キャッシュのクリア
  • backward / forward等の操作とwebページ読み込みでボタンの表示を始端・終端が一目でわかるように修正
  • saveしたURLをswipeで再表示・削除するボタンの実装

また、UIのボタンを減らし、初期設定画面で設定・選択できるようにしました。

  • 前後に行くためのURL配列のクリア
  • webのキャッシュのクリア
  • Ads Blockの統計情報のクリア
  • 言語選択、検索エンジンの選択
  • Ads Block / Java / URLクリックのの有効・無効

うまくいっていないもの

  • 検索フィールド(UITextField)が画面サイズが変わっても自動的に伸び縮みしません。同じUITextFieldをツールバーのエリアから外してwebViewに持ってくると伸び縮みします。何なのでしょうね?
  • 現在の仕様はmacOSと異なり、.webarchiveで処理できていないため画像が取り込めない、文字編集に色文字が使えないなどの制限があります。Ads Blockはことのほかうまくいったのですが、これでリリースするかどうか考え中です。プラスマイナスがあります。

ピンク.jpg

徒然:陽気のせいか疲れやすい

寒暖差に身体が負けています。

体調不良とまではいかないのですが、時々、横になって休まないときょう一日を乗り切れません。それは疲れたという感覚と違い、だるさが身体の芯から湧き上がり、外に出きれないまま、また、身体の中に戻って沈着してしまう感じです。

抗がん剤治療としては軽い方だと思いますが、きっと、薬の副作用はこんなふうに現れるものなのでしょうね。あと5ヶ月で服薬が終わるので、もう少しの我慢です。

医者には、体重が増えたこと、むくみがあること、疲れやすいことについて説明しています。それで、薬の量を減らし、服用日数と休む日数を緩和したり、必要な措置はされています。

それでも、きっと百歳くらいまで生きるのだろうと話しています。毎月、血液検査をし、健康管理をしてもらっているからです。インフルエンザの注射をした看護師さんは、定期検診はしなくていいですよ、と言っていました。

やれやれです。

百歳まで生きるとなると、何をして生きるか、またもや考えないといけません。老若男女を問わず、生きるということがなんなのか、全く解決されていないのに、またこのテーマが立ちはだかります。しかし、ある日、道端にノートが落ちていて、それに自分の人生の全てが書き込まれていたら、もっと悲しい結果になる気もします。

すると、生きるということは過去に向けてではなく、未来に向けて開かれているだけだ、とそんなふうにも思えてきます。未来は単に可能性の総和なのでしょう。

近所

Swift4:UITableViewRowAction

tableViewの行の削除orその行が保有するURLのwebページ読み込みをどうすればいいか考えてました。

簡単な方法がありました。

注意しないといけない点は、対象行にアラート表示した後でaction以下が再度起動されることです。つまり、次の通り。

◾️class MesaModalArea
//0ID 1 2 3Date 4URL 5folder 6file 7Title 8Favicon 9Undo 10Data
var rcArray:[NSMutableDictionary]= []
var rcUpdateSign:String     = “”      //Write MesaClip file or Not(“”).
var maybeLastRow:Int        = 0       //Current rcArray-row-number.
var qRow:Int                = 0       //target row number.

 

◾️class MesaTable
@IBOutletweakvar  yTableView:UITableView!    //tableView
var wkSelectedRow:Int = -1                   //work: Selected row number.
let Z = MesaModalArea.sharedInstance         //Common area.

 

func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath)//
-> [UITableViewRowAction]? {                   //
wkSelectedRow         = indexPath.row        //Set selected row number.
let wRead = UITableViewRowAction(style:.normal, title:”Read”) {//🔴🔴Read URL
(action, indexPath) in                       //
self.Z.bookmarkURL = self.Z.rcArray[self.wkSelectedRow][self.Z.fURL] as! String//
self.yTableView.reloadData()                 //Reload the table.
self.ExecClose(sender: self)                 //Close and Exit.
}                                              //
wRead.backgroundColor   = UIColor.blue       //Change background color.
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
let wDelete = UITableViewRowAction(style:.default, title:”Delete”) {//🔴🔴Remove
(action, indexPath) in                       //
self.Z.rcArray.remove(at: indexPath.row)   //Remove this row.
self.Z.rcUpdateSign     = “up”             //Write MesaClip file.
tableView.deleteRows(at:[indexPath], with:.fade)//
if self.wkSelectedRow – 1  >= 0  {         //
self.Z.qRow = self.wkSelectedRow – 1       //Current row = Previous row.
} else if self.Z.rcArray.count > 0 { self.Z.qRow = 0}  //Current row = Next row.
else                               { self.Z.qRow = -1 }//Current row = NA
self.Z.maybeLastRow    = self.Z.qRow       //Current row number.
//var _:IndexPath = IndexPath(row: Z.qRow, section: indexPath.count)//
if self.Z.qRow >= 0 {                      //
tableView.selectRow(at: IndexPath(row: self.Z.qRow, //Select row.
section: 1), animated: true, scrollPosition: .middle)//
}  else { }                                //
self.yTableView.reloadData()               //Reload the table.
}                                            //
wDelete.backgroundColor = UIColor.red        //
return [wRead, wDelete]                      //
}//

Screenshot 2018-03-07 08.27.06

Swift4:Swipe

Swipeを実装しました。無償版からwordpress.comプレミアムに変更しました。

長押しをどうするかまだ決めていませんが、Swipeは実装しました。

課題は、iPhoneの場合、Swipeできる箇所、簡単にSwipeができる場所が決まっているようです。ある記事では、適用領域が狭いという指摘がありました。

しかし、使えなくはないので、実装したままで行きたいと考えています。

Swipe sample: .right / .left / .down
let wRightSwipe = UISwipeGestureRecognizer(target:self,     //
action:#selector(ExecForward(sender:)))                     //右 次のページwRightSwipe.numberOfTouchesRequired = 1                     //
wRightSwipe.direction   = .right                            //
let wLeftSwipe  = UISwipeGestureRecognizer(target:self,     //
action:#selector(ExecBackward(sender:)))                    //左 前のページ
wLeftSwipe.numberOfTouchesRequired = 1                      //
wLeftSwipe.direction    = .left                             //
let wDownSwipe  = UISwipeGestureRecognizer(target:self,     //
action:#selector(ExecBackward(sender:)))                    //下 前のページ
wDownSwipe.numberOfTouchesRequired = 1                      //
wDownSwipe.direction    = .down                             //
self.view.addGestureRecognizer(wRightSwipe)                 //登録する。
self.view.addGestureRecognizer(wLeftSwipe)                  //登録する。
self.view.addGestureRecognizer(wDownSwipe)                  //登録する。

@IBAction func ExecForward(sender:UISwipeGestureRecognizer) {   //<*次のページに*>
ExecIBActionForward(self)                                       //
}//————————————————————-//
@IBAction func ExecBackward(sender:UISwipeGestureRecognizer) {  //<*前のページに*>
ExecIBActionBackward(self)                                      //
}//————————————————————-//
@IBAction func ExecReload(sender:UISwipeGestureRecognizer) {    //<*前のページに*>
ExecIBActionBackward(self)                                      //
//  ExecIBActionReload(self)                                    //
}//————————————————————-//

この事例では、swipeできる領域はtoolbarの中に限られます。いろいろ試してみたのですが、self.viewではそうなるようです。なお、numberOfTouchesRequiredのデフォルトは1で定義してもしなくても問題ないですが、明示的に定義した方がわかりやすいと思います。

Screenshot 2018-03-03 23.30.48