Files
firebase-ios-sdk/Example/DynamicLinks/FDLBuilderTestAppObjC/LinkTableViewCell.m
T

70 lines
2.5 KiB
Objective-C

/*
* Copyright 2018 Google
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#import "LinkTableViewCell.h"
static const NSUInteger kHInset = 10;
static const NSUInteger kVInset = 4;
@implementation LinkTableViewCell {
UILabel *_titleLabel;
UITextView *_linkTextView;
}
- (instancetype)init {
self = [super initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:NSStringFromClass(self.class)];
if (self) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:15];
_linkTextView = [[UITextView alloc] init];
_linkTextView.font = [UIFont boldSystemFontOfSize:15];
_linkTextView.editable = NO;
_linkTextView.scrollEnabled = NO;
_linkTextView.dataDetectorTypes = UIDataDetectorTypeLink;
[self.contentView addSubview:_titleLabel];
[self.contentView addSubview:_linkTextView];
}
return self;
}
- (void)layoutSubviews {
_titleLabel.frame = CGRectMake(kHInset, kVInset, self.contentView.frame.size.width - 2 * kHInset,
(self.contentView.frame.size.height / 2) - 2 * kVInset);
_linkTextView.frame = CGRectMake(kHInset, (self.contentView.frame.size.height / 2) + kVInset,
self.contentView.frame.size.width - 2 * kHInset,
(self.contentView.frame.size.height / 2) - 2 * kVInset);
}
- (void)setTitle:(NSString *)title link:(NSString *)link {
self.accessibilityIdentifier =
[NSString stringWithFormat:@"%@-%@", NSStringFromClass(self.class), title];
_linkTextView.accessibilityIdentifier =
[NSString stringWithFormat:@"%@-LinkTextView-%@", NSStringFromClass(self.class), title];
_titleLabel.text = title;
if (link) {
NSURL *URL = [NSURL URLWithString:link];
NSAttributedString *attributedLink =
[[NSAttributedString alloc] initWithString:link attributes:@{NSLinkAttributeName : URL}];
_linkTextView.attributedText = attributedLink;
}
_linkTextView.accessibilityValue = link;
}
@end