我怎样才能找到屏幕上实际可见的显示视图内容的rect(CGRect).
myScrollView.bounds
Run Code Online (Sandbox Code Playgroud)
上面的代码在没有缩放时有效,但只要你允许缩放,它就会以1以外的缩放比例中断.
为了澄清,我想要一个CGRect,它包含相对于内容的滚动视图内容的可见区域.(即如果它是缩放比例2,则矩形的大小将是滚动视图大小的一半,如果它是缩放比例0.5,它将是双倍.)
我有一个抽象PHP超类,它包含需要知道其运行的子类的代码.
class Foo {
static function _get_class_name() {
return get_called_class();
//works in PHP 5.3.*, but not in PHP 5.2.*
}
static function other_code() {
//needs to know
echo self::_get_class_name();
}
}
class Bar extends Foo {
}
class FooBar extends Foo {
}
Bar::other_code(); // i need 'Bar'
FooBar::other_code(); // i need 'FooBar'
Run Code Online (Sandbox Code Playgroud)
如果我调用该函数get_called_class(),这将有效- 但是,此代码将在PHP 5.2版中运行.*,因此该函数不可用.
那里有一些自定义的PHP实现get_called_class(),但它们都依赖于debug_backtrack()解析文件名和行号,并运行正则表达式(因为编码器不知道PHP 5.2有反射)来查找类名.这段代码需要能够用php运行,即.不仅来自.php文件.(它需要从php -ashell或eval()语句中工作.)
理想情况下,解决方案可以在不需要将任何代码添加到子类的情况下工作......我能看到的唯一可能的解决方案是将以下代码添加到每个子类中,这显然是一个恶心的黑客攻击:
class FooBar extends Foo {
static function _get_class_name() {
return …Run Code Online (Sandbox Code Playgroud) 正如标题所说,我想知道在同一个项目中同时拥有iOS应用程序和Mac应用程序是否可行且合理.也就是说,Xcode项目具有Mac应用程序目标和iOS目标.
如果是这样,我应该注意什么,这是一个好主意.
一点上下文:我正在开发一个用于Web服务的客户端应用程序,它将在iOS和Mac平台之间共享许多API连接(模型层)代码.
在我正在处理的应用程序中,用户输入纯文本,应用程序通过将文本转换为NSAttributedString来重新格式化文本,并显示它.一切都发生了.
目前,我在NSTextView的textDidChange委托方法上执行以下操作:
- (void)textDidChange:(NSNotification *)notification {
// saving the cursor position
NSInteger insertionPoint = [[[self.mainTextView selectedRanges] objectAtIndex:0] rangeValue].location;
// this grabs the text view's contact as plain text
[self updateContentFromTextView];
// this creates an attributed strings and displays it
[self updateTextViewFromContent];
// resetting the cursor position
self.mainTextView.selectedRange = NSMakeRange(insertionPoint, 0);
}
Run Code Online (Sandbox Code Playgroud)
虽然这主要起作用,但并不理想.文本似乎瞬间闪烁(你特别注意拼写错误下的红点),当光标先前接近可见矩形的一个边缘时,滚动位置会重置.就我而言,这是一个非常不受欢迎的副作用.
所以我的问题是:有没有更好的方法来做我想做的事情?
cocoa ×2
iphone ×2
cocoa-touch ×1
core-text ×1
inheritance ×1
ios ×1
macos ×1
nstextview ×1
objective-c ×1
oop ×1
php ×1
php-5.2 ×1
uiscrollview ×1