如何将 Url 分配给 PSButtonCell 操作

问题描述 投票:0回答:1

大家好,我一直在进行这项调整,大部分工作已经完成。我唯一记得的就是在我的偏好包中添加一个捐赠按钮。我已经创建了一个带有标签和操作的单元格,我只需要知道如何为操作分配 url 以及需要在哪里放置分配代码。我是否将其放在我的tweak.xm 中?在一个单独的plist 中?请帮忙,非常感谢。

plist tweak theos
1个回答
0
投票

您可以在设置包中的单独文件中实施您的操作。最好使用theos提供的preference_bundle模板。 关于URL,你可以看一下NotiQuiet的代码示例。 我已经测试了 openURL 方法,虽然这个文件是 8 个月前写的,但它仍然有效。

在Resources/NotiQuiet.plist中,声明了该操作:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>items</key>
    <array>
        <!-- Irrelevant cells omitted -->
        <dict>
            <key>action</key>
            <string>followOnTwitter</string>
            <key>cell</key>
            <string>PSLinkCell</string>
            <key>icon</key>
            <string>Twitter.png</string>
            <key>label</key>
            <string>PREFS_TWITTER</string>
        </dict>
    </array>
    <key>title</key>
    <string>NotiQuiet</string>
</dict>
</plist>

在ADNQListController.m中,实现了该方法:


- (void)followOnTwitter {
    if ([[UIApplication sharedApplication]canOpenURL:[NSURL URLWithString:@"tweetbot:"]]) {
        [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"tweetbot:///user_profile/thekirbylover"]];
    } else if ([[UIApplication sharedApplication]canOpenURL:[NSURL URLWithString:@"tweetings:"]]) {
        [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"tweetings:///user?screen_name=thekirbylover"]];
    } else if ([[UIApplication sharedApplication]canOpenURL:[NSURL URLWithString:@"twitter:"]]) {
        [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"twitter://user?screen_name=thekirbylover"]];
    } else {
        [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"http://twitter.com/intent/follow?screen_name=thekirbylover"]];
    }
}

有关详细信息,https://theapplewiki.com/wiki/Dev:Preferences_specifier_plist 总是有帮助的。

© www.soinside.com 2019 - 2024. All rights reserved.