3

私はこのようなことをしようとしています: まず、起動時に「同意する」ボタンが無効になり、ユーザーはテキストビュー領域の利用規約を読む必要があり、同意するボタンが有効になります。これまでのコードは次のとおりです。誰か提案をいただけますか?

- (IBAction)acceptAction:(id)sender {
    if ([self.termConditionTextView scrollsToTop] == true) {
        [acceptButtonOutlet setEnabled:NO];
        [[[UIAlertView alloc] initWithTitle:@"Term & Condition" message:@"Please read term &    condition first. Thank you." delegate:nil cancelButtonTitle:@"Back" otherButtonTitles:nil] show];
    } else {
        [acceptButtonOutlet setEnabled:YES];
    }
}
4

3 に答える 3

6

ボタンを作成するときは、myButton.enabled = NO

スクロールビューに設定UIScrollViewDelegateします。

次に、scrollViewDidScrollデリゲート関数を実装します。関数で、スクロールビューのコンテンツ オフセットをチェックして、一番下に到達したかどうかを確認します。このようなもの:

- (void)scrollViewDidScroll: (UIScrollView*)scrollView
{
    float scrollViewHeight = scrollView.frame.size.height;
    float scrollContentSizeHeight = scrollView.contentSize.height;
    float scrollOffset = scrollView.contentOffset.y;

    if (scrollOffset + scrollViewHeight == scrollContentSizeHeight)
    {
        myButton.enabled = YES;
    }
}
于 2012-08-13T21:24:22.250 に答える
2

テキストビューの下部(その下)に受け入れボタンを配置し、両方をUIScrollView. この場合、ユーザーは受け入れるために一番下までスクロールする必要があります。もちろん、とにかく誰もテキストを読んでいないことは承知しています。これは、私が過去にそのような機能を実装した最も簡単な方法です。

于 2012-08-13T21:33:33.260 に答える
0

IBAction十分ではないと思います。IBOutletボタンをポイントする必要があります。最初にビューをロードするときに、をに設定しdisabledます。次に、プロトコルなどを実装することで、 scrollview(またはtableview同じ取引が)最下位にあるかどうかを確認できます。UIScrollViewでscrollViewDidScrollToBottomをシミュレートする方法はありますか?。この場合、ボタンをに変更します。UIScrollViewDelegateenabled

于 2012-08-13T21:07:55.793 に答える