Skip to content
This repository has been archived by the owner on Jan 26, 2023. It is now read-only.

タイムライン上のフィードを長押しするとアクションが起こるようにして欲しい #84

Open
hurutoriya opened this issue Jan 16, 2014 · 7 comments

Comments

@hurutoriya
Copy link

こんにちは、HBfav普段から毎日快適かつ便利に使用しています。
これは僕がHBfavを普段使っている流れとして、
HBfavのタイムラインで面白そうなリンクがある→取り敢えずPocketに突っ込んでいく→後から見返して見返す価値があればはてぶ
というのがあって
もし実装してくれれば物凄く便利だなと思った機能です。
タイムラインのフィードを長押ししたらそのURLに対するアクションの候補が表示されるようになってくれるととても嬉しいです。

@naoya
Copy link
Owner

naoya commented Jan 20, 2014

ありがとうございます。

今のところ長押しは対象のエントリをダイレクトに開くという動作に対応しているので、それとの衝突をどうするかですね。

@Watson1978
Copy link
Contributor

iOSのメールアプリなどのように、テーブルセルをスワイプするとボタンが表示されアクションを起こせるとモダンな感じがします。

@naoya
Copy link
Owner

naoya commented Jan 20, 2014

ですね、それかなあ。試そうとおもったけど手元に iPhone がないw
自宅に忘れてきた・・・

@hurutoriya
Copy link
Author


Facebookメッセンジャーのような感じでしょうか

@naoya
Copy link
Owner

naoya commented Jan 20, 2014

メールみたいにスワイプして、「その他」を押すとアクションシートが出てくる、みたいなのがよさそうですね

@naoya
Copy link
Owner

naoya commented Jan 22, 2014

標準的な方法で左にスワイプしたときの挙動をカスタマイズする方法がすぐにはみつからず。

このライブラリを使うと割と簡単に実装できるっぽいので試してみたのですが、どうも TableView の cell を drawRect で自分で描画するコードを書いていると相性がわるいようで、cell の中身が真っ白になってしまいました。

あとは、このライブラリが UITableView と contentView の階層構造を変えてしまうので、既存の実装ではクラッシュ。これは対応方法は分かったのですが。

自分でスワイプとか実装して云々、はちょっと割に合わないかな・・・

いちおう試したときの diff

diff --git a/Rakefile b/Rakefile
index 5ffa53e..05acc56 100644
--- a/Rakefile
+++ b/Rakefile
@@ -72,6 +72,7 @@ Motion::Project::App.setup do |app|
     pod 'HatenaBookmarkSDK', :git => 'git@github.com:hatena/Hatena-Bookmark-iOS-SDK.git'
     pod 'MPNotificationView'
     pod 'GoogleAnalytics-iOS-SDK'
+    pod 'SWTableViewCell'

     ## Parse.com SDK が依存してるけど本来必要ない。現状、解決されてない様子
     pod 'Facebook-iOS-SDK'
diff --git a/app/view/bookmark_fast_cell.rb b/app/view/bookmark_fast_cell.rb
index 1618716..1cf0e98 100644
--- a/app/view/bookmark_fast_cell.rb
+++ b/app/view/bookmark_fast_cell.rb
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-class BookmarkFastCell < UITableViewCell
+class BookmarkFastCell < SWTableViewCell
   @@profile_placeholder_image = UIImage.imageNamed('profile_placeholder')
   @@blank_image = UIImage.imageNamed('blank')

@@ -81,7 +81,7 @@ class BookmarkFastCell < UITableViewCell
     )
   end

-  def initWithStyle(style, reuseIdentifier:cellid)
+  def initWithStyle(style, reuseIdentifier:reuseIdentifier)
     if super
       @contentView = HBFav2::CustomCellContentView.alloc.initWithFrame(CGRectZero)
       @contentView.backgroundColor = UIColor.whiteColor
diff --git a/app/view/hbfav2_custom_cell_content_view.rb b/app/view/hbfav2_custom_cell_content_view.rb
index 7f1926d..6f60780 100644
--- a/app/view/hbfav2_custom_cell_content_view.rb
+++ b/app/view/hbfav2_custom_cell_content_view.rb
@@ -2,7 +2,8 @@ module HBFav2
   class CustomCellContentView < UIView
     def drawRect(rect)
       if UIDevice.currentDevice.ios7?
-        self.superview.superview.superview.drawRectContent(rect)
+        NSLog(self.superview.superview.superview.superview.superview.class.name)
+        self.superview.superview.superview.superview.superview.drawRectContent(rect)
       else
         self.superview.superview.drawRectContent(rect)
       end
diff --git a/vendor/Podfile.lock b/vendor/Podfile.lock
index f758e24..95fbdac 100644
--- a/vendor/Podfile.lock
+++ b/vendor/Podfile.lock
@@ -16,6 +16,7 @@ PODS:
     - SFHFKeychainUtils (= 0.0.1)
   - SFHFKeychainUtils (0.0.1)
   - SVProgressHUD (0.9)
+  - SWTableViewCell (0.2.2)
   - TTTAttributedLabel (1.7.1)
   - TUSafariActivity (1.0.0)

@@ -33,6 +34,7 @@ DEPENDENCIES:
   - NSDate+TimeAgo
   - PocketAPI (from `git@github.com:naoya/Pocket-ObjC-SDK.git`, branch `cocoapods-dependency`)
   - SVProgressHUD
+  - SWTableViewCell
   - TTTAttributedLabel (from `git@github.com:mattt/TTTAttributedLabel.git`)
   - TUSafariActivity

@@ -62,6 +64,7 @@ SPEC CHECKSUMS:
   PocketAPI: d4b8f31c5a29e20da84b6a19055344bb1ad06099
   SFHFKeychainUtils: e828dbd9eaa509486acf95d8de2ebd414c4b7451
   SVProgressHUD: 03d4845ec8e64591726428a08236c6a5489d45f8
+  SWTableViewCell: b20432962d410c45c25b69e7c519a1296ecce70b
   TTTAttributedLabel: e504133915a9b11de63cb470ffa2790383a3eb23
   TUSafariActivity: bd9da588f5f9136ba445d89f8f86b6dccf4d46ba

@naoya
Copy link
Owner

naoya commented Jan 22, 2014

スワイプのインタフェース実装してるアプリ

  • facebook
  • evernote
  • 標準の mail

あたりをみるとどれも同じような動きをするし、もっとカジュアルに実装できそうなもんなんだけど・・・うーん

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants