4

そのため、過去 2 週間、私は GitHub リポジトリhttps://github.com/satheeshwaran/iOS-8-Features-Demoに取り組んでおり、iOS 8 で導入された Share 拡張機能のデモを試みました。に追加できる方法ですが、の色合いやテキストの色を変更する方法がわかりませんでしSLComposeSheetConfigurationItemた。SLComposeServiceViewControllerSLComposeSheetConfigurationItem

今までやってきたこと、

ここに画像の説明を入力

上の図を参照してください。説明と My First Share を好きな色に設定したいと思います。また、フォントなどをカスタマイズしたい場合もあります。私はSocialFrameworkを少し掘り下げましたが、何も得られませんでした。

iPad で Evernote の共有拡張機能を見たところ、次のようになりました。 ここに画像の説明を入力

下部にアイコンが表示されている場合、テキストの色などもナビゲーション バーのテーマと一致しています。

拡張プログラミングに関する WWDC 2014 プレゼンテーションを引用すると、

SLComposeServiceViewController標準 UI
UI 用/NSViewControllerカスタム UI 用 私の質問に来て、

  1. カスタマイズSLComposeServiceViewControllerSLComposeSheetConfigurationItemて、このように見えるようにすることはできますか??
  2. 2 番目の質問は見積もりに関するものです。デフォルトSLComposeServiceViewControllerはまったくカスタマイズできますか?? または、UIViewControllerサブクラスを使用して独自の UI を作成する必要があります。
  3. Evernote がどのようにカスタムUIViewControllerサブクラスを実行して動作を複製したり、使用したりするのでしょうSLComposeServiceViewControllerか (これを質問するかどうかはわかりませんが、回答が必要です)。
4

4 に答える 4

6

ナビゲーション バーのカスタマイズ用。通常の非ドット表記法は、私にとってはうまく機能します。

[[[self navigationController] navigationBar] setTintColor:[UIColor whiteColor]];
[[[self navigationController] navigationBar] setBackgroundColor:[UIColor redColor]];
[[self navigationItem] setTitleView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"elephant.png"]]];

アイコンを指定すると、SLComposeSheetConfigurationItemそれはカスタム サブクラスのように見えます。

で構成するための唯一の公開メソッドSLComposeSheetConfigurationItem @property (nonatomic, copy) NSString *title; // The displayed name of the option. @property (nonatomic, copy) NSString *value; // The current value/setting of the option. @property (nonatomic, assign) BOOL valuePending; // Default is NO. set to YES to show a progress indicator. Can be used with a value too.

于 2014-10-21T18:17:23.580 に答える
4

Evernoteに似た結果を得るために使用した私のコード:

func getTopWithColor(color: UIColor, size: CGSize) -> UIImage {
    let rect = CGRectMake(0, 0, size.width, size.height)
    UIGraphicsBeginImageContextWithOptions(size, false, 0)
    color.setFill()
    UIRectFill(rect)
    if let img = UIImage(named: "icon.png") {
        img.drawInRect(CGRectMake((size.width-size.height)/2, 0, size.height, size.height))
    }
    let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return image
}

override func viewDidLoad() {
    super.viewDidLoad()

    self.navigationController?.navigationBar.tintColor = UIColor.blackColor()
    let navSize = self.navigationController?.navigationBar.frame.size
    self.navigationController?.navigationBar.setBackgroundImage(getTopWithColor(UIColor.whiteColor(), size: navSize!), forBarMetrics: .Default)
}

カスタム ナビゲーション バーを備えた SLComposeServiceViewController

于 2016-03-05T14:36:01.913 に答える
1

実際には、SLComposeServiceViewController のナビゲーション コントローラーは SLSheetNavigationController であり、タイトル ビューをそのナビゲーション バーに設定しても、タイトル テキスト属性にも影響がないようです。

于 2014-10-27T18:16:15.237 に答える